Cod sursa(job #57364)

Utilizator Mishu91Andrei Misarca Mishu91 Data 1 mai 2007 20:46:56
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<cstdio>
#define input "aprindere.in"
#define output "aprindere.out"
#define nmax 1010

int n,m,a[nmax],mat[nmax][200];

int main()
{
  freopen(input,"rt",stdin);
  freopen(output,"wt",stdout);
  scanf("%d %d",&n,&m);
  int i,j,k;
  for(i=0;i<=n-1;++i)
    scanf("%d",&a[i]);
  int c,t,nr;
  for(i=1;i<=m;++i)
  {  
    scanf("%d %d %d",&c,&t,&nr);
    mat[i][1]=c; mat[i][2]=t; mat[i][3]=nr;
    k=3;
    for(j=1;j<=nr;++j) {scanf("%d",&c); mat[i][++k]=c;}
  }
  int timp=0;
  for(i=0;i<=n-1;++i)
    if(a[i]==0)
    {
      for(j=1;j<=m;++j) if(mat[j][1]==i) 
                        {
                          timp+=mat[j][2]; 
                          for(k=1;k<=mat[j][3];++k) if(a[mat[j][3+k]]==0) a[mat[j][3+k]]=1;
                                             else a[mat[j][3+k]]=0;
                        }
    }
  printf("%d\n",timp);
  return 0;
}