Cod sursa(job #52509)

Utilizator MirageRobert Sandu Mirage Data 19 aprilie 2007 09:20:39
Problema Aprindere Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include<stdio.h>
int a[1001],b[1001];
int main () {
	int n,m,v[1001],w[1001][101],i,j,s=0,nr=0;
	FILE *in=fopen("aprindere.in","r"), *out=fopen("aprindere.out","w");
	fscanf(in,"%d%d",&n,&m);
	for(i=0;i<n;i++)
		fscanf(in,"%d",&v[i]);
	for(i=0;i<m;i++){
		for(j=0;j<3;j++){
			fscanf(in,"%d",&w[i][j]);
			a[w[i][0]]=1;
		}
		for(j=3;j<(w[i][2]+3);j++){
			fscanf(in,"%d",&w[i][j]);
		}
		b[w[i][0]]=w[i][2]+3;
	}
	for(i=0;i<n;i++){
		if(v[i]==0){
			for(j=3;j<b[i];j++)
				if(v[w[i-nr][j]]==0)
					v[w[i-nr][j]]=1;
				else
					v[w[i-nr][j]]=0;
			s+=w[i-nr][1];
		}
		if(a[i]==0)
			nr++;
	}
	fprintf(out,"%d\n",s);
	fclose(in);
	fclose(out);
	return 0;
}