Cod sursa(job #24324)

Utilizator kyrkDragos Dumitrescu kyrk Data 2 martie 2007 01:40:15
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<stdio.h>
main()
{
long v[1000],a[1000][105],i,j,k,n,m,s,valid;
FILE *f,*g;
f=fopen("aprindere.in","r");
g=fopen("aprindere.out","w");
fscanf(f,"%ld %ld",&n,&m);
for(i=0;i<n;i++)
 fscanf(f,"%ld",&v[i]);
for(i=1;i<=m;i++)
{
 fscanf(f,"%ld %ld %ld",&a[i][0],&a[i][1],&a[i][2]);
 k=3;
 for(j=1;j<=a[i][2];j++)
   { fscanf(f,"%ld",&a[i][k]);
     k++;
   }
 }
s=0;
i=0;j=1;
do{
  if(v[i]==0)
   {
     do{
	valid=0;
	if(a[j][0]==i)
	 {  valid=1;
	    s+=a[j][1];
	    for(k=1;k<=a[j][2];k++)
	       {
		  if(v[a[j][k+2]]==0)v[a[j][k+2]]=1;
		  else v[a[j][k+2]]=0;
	       }
	  }
	else j++;
       }while(valid==0);
   }
 i++;
}while(i<=m);
fprintf(g,"%ld\n",s);

fclose(f);
fclose(g);
return 0;
}