Cod sursa(job #1062218)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 20 decembrie 2013 21:15:54
Problema Aprindere Scor 0
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.78 kb
#include<cstdio>
#include<vector>

using namespace std;

int N,M,sol;
int S[1005];
int C[1005];
vector<int> V[1005];
vector<int>::iterator it;

int main()
{
    int a,b,n,i;

    freopen("aprindere.in","r",stdin);
    freopen("aprindere.out","w",stdout);

    scanf("%d%d",&N,&M);
    for(i=0; i<N; i++)
        scanf("%d",&S[i]);
    for(; M; --M)
    {
        scanf("%d%d%d",&a,&C[a],&n);
        for(; n; --n)
        {
            scanf("%d",&b);
            V[a].push_back(b);
        }
    }

    for(i=0; i<N; i++)
    {
        if(S[i]) continue;
        for(it=V[i].begin(); it!=V[i].end(); it++)
        {
            if(S[*it]) S[*it]=0;
            else S[*it]=1;
        }
        sol+=C[i];
    }

    printf("%d\n",sol);
    return 0;
}