Cod sursa(job #8019)

Utilizator astronomyAirinei Adrian astronomy Data 23 ianuarie 2007 17:10:58
Problema Aprindere Scor 100
Compilator c Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <stdio.h>

#define MAXN 1024

int N, M, G[MAXN][128], T[MAXN], s[MAXN];
int res;

void solve(void)
{
    int i, j, v;

    for(i = 0; i < N; i++)
     if(s[i] == 0)
     {
        res += T[i];
        for(j = 1; j <= G[i][0]; j++)
            s[G[i][j]] ^= 1;
     }
}

void read_data(void)
{
    int i, c, j;

    scanf("%d %d\n", &N, &M);

    for(i = 0; i < N; i++)
        scanf("%d ", &s[i]);

    for(i = 1; i <= M; i++)
    {
        scanf("%d ", &c);
        scanf("%d %d", &T[c], &G[c][0]);
        for(j = 1; j <= G[c][0]; j++)
            scanf("%d ", &G[c][j]);
    }
}

void write_data(void)
{
    printf("%d\n", res);
}

int main(void)
{
    freopen("aprindere.in", "rt", stdin);
    freopen("aprindere.out", "wt", stdout);

    read_data();
    solve();
    write_data();

    return 0;
}