Cod sursa(job #1562104)

Utilizator demetriad-dagpagDavid Demetriad demetriad-dagpag Data 4 ianuarie 2016 20:05:54
Problema Aprindere Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <stdio.h>
#include <stdlib.h>
int camere[1000][1000],timp[1000],aprindere[1000],stare[1000];
int main()
{
    int n,m,i,x,y,z,j,tp;
    freopen("aprindrere.in","r",stdin);
    freopen("aprindrere.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(i=0; i<n; i++)
        scanf("%d",&stare[i]);
    for(i=0; i<m; i++)
    {
        scanf("%d%d%d",&x,&y,&z);
        aprindere[x]=1;
        timp[x]=y;
        for(j=1; j<=z; j++)
        {
            scanf("%d",&y);
            camere[x][y]=1;
        }
    }
    tp=0;
    for(i=0; i<n; i++)
        if(stare[i]==0 && aprindere[i]==1)
        {
            tp+=timp[i];
            for(j=i; j<n; j++)
                if(camere[i][j]==1)
                    stare[j]=1-stare[j];
        }
    printf("%d\n",tp);

    return 0;
}