Pagini recente » Cod sursa (job #2325602) | Cod sursa (job #1957857) | Cod sursa (job #3161535) | Cod sursa (job #2119442) | Cod sursa (job #239775)
Cod sursa(job #239775)
#include<stdio.h>
FILE *fin=fopen("aprindere.in","r"),
*fout=fopen("aprindere.out","w");
int N,M,s[1004],t[1005],cost;
struct nod{int bec;nod* next;};
typedef nod* lista;
lista L[1005];
int val(int x){
if(x==0) return 1;
return 0;
}
int main(){
fscanf(fin,"%d %d",&N,&M);
for(int i=0;i<N;i++){
fscanf(fin,"%d",&s[i]);
}
for(int i=1;i<=M;i++){
int x,nr;
fscanf(fin,"%d",&x);
fscanf(fin,"%d %d",&t[x],&nr);
for(int j=1;j<=nr;j++){
lista aux=new nod;
fscanf(fin,"%d",&aux->bec);
aux->next=L[x];
L[x]=aux;
}
}
for(int i=0;i<N;i++)
if(s[i]==0){
for(lista p=L[i];p;p=p->next)
s[p->bec]=val(s[p->bec]);
cost+=t[i];
}
fprintf(fout,"%d\n",cost);
fclose(fin);
fclose(fout);
return 0;
}