Cod sursa(job #7746)
#include<stdio.h>
#define Nmax 1001
int a[Nmax],t[Nmax],n,m;
int G[Nmax][Nmax];
long T;
int main()
{
int i,j,c,nr,cv,tt;
FILE *fin=fopen("aprindere.in","r");
FILE *fout=fopen("aprindere.out","w");
fscanf(fin,"%d%d",&n,&m);
for(i=0;i<n;i++)
fscanf(fin,"%d",&a[i] );
for(i=1;i<=m;i++)
{
fscanf(fin,"%d%d%d",&c,&tt,&nr);
t[c]=tt;
for ( G[c][0]=nr , j = 1 ; j <= nr ; j ++ )
{
fscanf(fin,"%d",&cv);
G[c][j]=cv;
}
}
fclose(fin);
for(i=0;i<=n;i++)
if ( !a[i] )
{
T += t[i];
for ( j =1 ;j <= G[i][0]; j ++ )
a[ G[i][j] ] = 1 - a[ G[i][j] ];
}
fprintf(fout,"%ld\n",T);
fclose(fout);
return 0;
}