Cod sursa(job #63103)

Utilizator FlorianFlorian Marcu Florian Data 26 mai 2007 16:08:09
Problema Aprindere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<stdio.h>
FILE*f=fopen("aprindere.in","r");
FILE*g=fopen("aprindere.out","w");
int a[1001],b[110][110],n,m,x,y,z,t[1001];
void read()
	{
	fscanf(f,"%d %d",&n,&m);
	for(int i=0;i<n;++i) fscanf(f,"%d",&a[i]);
	for(i=1;i<=m;++i)
		{
		fscanf(f,"%d %d %d",&x,&y,&z);
		t[x]=y;
		b[x][1]=z;
		for(int k=2;k<=z+1;++k) fscanf(f,"%d",&b[x][k]);
		}
	}
void solve()
	{
	int i,sol=0,j;
	for(i=0;i<n;++i)
		if(!a[i])
			{
			sol+=t[i];
			for(j=2;j<=b[i][1]+1;++j)
				if(a[b[i][j]]==1) a[b[i][j]]=0;
				else a[b[i][j]]=1;
			}
	fprintf(g,"%d",sol);
	}
int main() {read(); solve(); return 0;}