Cod sursa(job #7461)

Utilizator dominoMircea Pasoi domino Data 21 ianuarie 2007 15:55:10
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <stdio.h>

#define MAX_N 1024
#define MAX_CNT 128
#define FIN "aprindere.in"
#define FOUT "aprindere.out"
#define FOR(i, a, b) for (i = (a); i < (b); i++)

int N, M, T[MAX_N], cnt[MAX_N], link[MAX_N][MAX_CNT], Res;
char A[MAX_N];

int main(void)
{
    int i, j, n;

    freopen(FIN, "r", stdin);
    freopen(FOUT, "w", stdout);

    scanf("%d %d", &N, &M);
    FOR (i, 0, N) scanf("%d", A+i);
    FOR (i, 0, M)
    {
        scanf("%d", &n); 
        scanf("%d %d", T+n, cnt+n);
        FOR (j, 0, cnt[n]) scanf("%d", link[n]+j);
    }

    FOR (i, 0, N)
    {
        if (A[i]) continue;
        FOR (j, 0, cnt[i])
            A[link[i][j]] ^= 1;
        Res += T[i];
    }

    printf("%d\n", Res);

    return 0;
}