Cod sursa(job #63128)

Utilizator FlorianFlorian Marcu Florian Data 26 mai 2007 22:22:24
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
#include<stdio.h>
FILE*f=fopen("aprindere.in","r");
FILE*g=fopen("aprindere.out","w");
int a[1003],b[1101][1101],n,m,x,y,z,t[1003];
void read()
	{
	fscanf(f,"%d %d",&n,&m);
	int i;
	for(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;}