Cod sursa(job #203473)

Utilizator drag0shSandulescu Dragos drag0sh Data 16 august 2008 21:29:04
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>
#define N 1000 
#define M 100


FILE *f=fopen("aprindere.in","r"),*g=fopen("aprindere.out","w");
int n,m,a[N][M],stare[N];

struct smen{
  int nr,cost;
};
smen v[N];

void citire(){
  int i,j,c;
  fscanf(f,"%d %d",&n,&m);
  for(i=0;i<n;i++) fscanf(f,"%d",&stare[i]);
  for(i=0;i<m;i++){
    fscanf(f,"%d",&c);
    fscanf(f,"%d %d",&v[c].cost,&v[c].nr);
    for(j=1;j<=v[c].nr;j++)fscanf(f,"%d",&a[c][j]);
  }
  fclose(f);
}
void rezolvare(){
  int i,j;
  long total;
  total=0;
  for(i=0;i<n;i++)
    if(!stare[i]){
      total+=v[i].cost;
      for(j=1;j<=v[i].nr;j++) stare[a[i][j]]^=1;
    }
  fprintf(g,"%ld",total);
}


int main(){
  citire();
  rezolvare();

  return 0;
}