Cod sursa(job #462813)

Utilizator miculprogramatorA Cosmina - vechi miculprogramator Data 13 iunie 2010 16:59:19
Problema Aprindere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.27 kb
#include <stdio.h>
using namespace std;

int a[1001][501];
int v[1001];
int n, m, i, j, k;
int timp;

int main ()
{
    FILE *f = fopen ("aprindere.in","r");
    FILE *g = fopen ("aprindere.out","w");
    fscanf (f,"%d %d", &n, &m);

    for (i=0; i<n; ++i)
        fscanf (f,"%d", &v[i]);
    for (i=0; i<m; ++i)
    {
        fscanf (f,"%d", &j);
        fscanf (f,"%d", &a[j][0]);
        fscanf (f,"%d", &a[j][1]);
        for (k=2; k<=a[j][1] + 1; ++k)
            fscanf (f,"%d", &a[j][k]);
    }

    /*for (i=0; i<n; ++i)
    {
        if (a[i][0])
        {
            printf ("Camera : %d   ", i);
            printf ("Timp = %d   ", a[i][0]);
            printf ("Nr = %d     ", a[i][1]);
            for (j=2; j<=a[i][1] + 1; ++j)
                printf ("%d ", a[i][j]);
            printf ("\n");
        }
    }*/

    for (i=0; i<n; ++i)
    {
        if (v[i] == 0)
        {
            if (a[i][0] == 0)
                continue;
            else
            {
                timp += a[i][0];
                for (j=3; j<=a[i][1] + 1; ++j)
                    timp += a[a[i][j]][0];
            }
        }
    }

    //printf ("timp = %d", timp);

    fprintf (g,"%d", timp);
    fclose(g);
    fclose(f);
    return 0;
}