Pagini recente » Cod sursa (job #580412) | Cod sursa (job #2651029) | Cod sursa (job #2512867) | Cod sursa (job #1697101) | Cod sursa (job #7021)
Cod sursa(job #7021)
#include<stdio.h>
main(){
FILE *in=fopen("aprindere.in","rt"),*out=fopen("aprindere.out","w+");
int m,n,on[100],i,j,sw[100][3],ch[100][100],min[2],k,r=0,tmp;
long s=0;
fscanf(in,"%d %d",&m,&n);
for(i=0;i<m;i++)
fscanf(in,"%d",&on[i]);
for(i=0;i<n;i++){
for(j=0;j<3;j++)
fscanf(in,"%d",&sw[i][j]);
for(j=0;j<sw[i][2];j++)
fscanf(in,"%d",&ch[i][j]);
}
for(i=0;i<m;i++){
if(!on[i]){
min[0]=32000;
for(j=0;j<n;j++){
r=0;
for(k=0;k<sw[j][2];k++){
if(ch[j][k]==i){
r=1;break;
}
}
if(r){
if(sw[j][1]<min[0]){
min[0]=sw[j][1];
min[1]=j;
}
}
}
tmp=min[1];
for(j=0;j<sw[tmp][2];j++){
k=ch[tmp][j];
on[k]=1;
}
s=s+sw[tmp][1];
}
}
fprintf(out,"%ld",s);
return 0;
}