Cod sursa(job #12022)

Utilizator crawlerPuni Andrei Paul crawler Data 2 februarie 2007 17:24:01
Problema Aprindere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include<stdio.h>
#define Min(a,b) (((a)<(b))?a:b)

unsigned int v[1024];
unsigned int c[1001], min[1001], q[1001];


int main()
 {

  freopen("aprindere.in","r",stdin);
  freopen("aprindere.out","w",stdout);

  register int i,j,tmp,n,m,C;
  long S=0;

  scanf("%i%i", &n,&m);

  for(i=0;i<n;++i)
   scanf("%i", &v[i]);

  for(i=1;i<=m;++i)
   {
    scanf("%i",&tmp);
    
    scanf("%i%i", &c[tmp], &x[0][tmp]);
    
    for(j=1;j<=x[0][tmp];++j)
     {
      scanf("%i", &C);
      min[C]=Min(min[C],c[tmp])
     }
   }

  for(i=0;i<n;++i)
   if(v[i]==0)
    {
     S+=c[i];
     for(j=1;j<=x[0][i];++j)
      v[x[j][i]]^=1;
    }

  printf("%ld\n",S);

  return 0;
 }