Cod sursa(job #42056)

Utilizator g3ppyStoian Vlad g3ppy Data 28 martie 2007 20:20:24
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <stdio.h>

FILE *fin,*fout;
struct act { int t,nr;
	     int b[1001];
	     };
act z[1001];
char a[1005];
int n,m,i,j,c,tt;
int main()
{
fin=fopen("aprindere.in","rt");
fout=fopen("aprindere.out","wt");
fscanf(fin,"%d %d\n",&n,&m);

for (i=0;i<n;i++) fscanf(fin,"%d",&a[i]);
for (i=0;i<m;i++)
    {fscanf (fin,"%d",&c);
    fscanf (fin,"%d %d",&z[c].t,&z[c].nr);
    for (j=0;j<z[c].nr;j++) fscanf (fin,"%d",&z[c].b[j]);

    }
tt=0;
for (i=0;i<n;i++)
   {
   if (a[i]==0)
      {
      tt+=z[i].t;
      for (j=0;j<z[i].nr;j++)
	  {
	  if (a[z[i].b[j]]==0)
	     a[z[i].b[j]]=1;
	  else
	    if (a[z[i].b[j]]==1) a[z[i].b[j]]=0;

	  }

      }

   }

fprintf(fout,"%d\n",tt);
fcloseall();
return 0;
}