Cod sursa(job #488594)

Utilizator funkydvdIancu David Traian funkydvd Data 29 septembrie 2010 15:23:38
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<cstdio>
#include<vector>
#define N 1<<10
using namespace std;
int n,m,x,v[N],cost[N],c,t,nr,ans;
vector<int> V[N];
int main()
{
    freopen("aprindere.in","r",stdin);
    freopen("aprindere.out","w",stdout);
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++) scanf("%d",&v[i]);
    for(int i=1;i<=m;i++)
    {
        scanf("%d%d%d",&c,&t,&nr);
        cost[c]=t;
        for(int j=1;j<=nr;j++)
        {
            scanf("%d",&x);
            V[c].push_back(x);
        }
    }
	for(int i=0;i<n;i++)
        if(v[i]==0)
        {
            ans+=cost[i];
            for(int j=0; j<V[i].size(); j++) v[V[i][j]]=1-v[V[i][j]];
        }
    printf("%d",ans);
    return 0;
}