Pagini recente » Cod sursa (job #2291313) | Cod sursa (job #803795) | Cod sursa (job #1094061) | Cod sursa (job #276994) | Cod sursa (job #1482118)
#include <stdio.h>
#define MAXN 1000
#define MAXP 100
#define MAXQ 1000
int m[MAXQ+1][MAXP], t[MAXN], p[MAXQ+1], k[MAXN+1], cost[MAXQ+1];
int main(){
int n, q, i, x, j, ans;
FILE *fin, *fout;
fin=fopen("aprindere.in", "r");
fout=fopen("aprindere.out", "w");
fscanf(fin, "%d%d", &n, &q);
for(i=0; i<n; i++){
fscanf(fin, "%d", &t[i]);
}
for(i=1; i<=q; i++){
fscanf(fin, "%d%d%d", &x, &cost[i], &p[i]);
for(j=0; j<p[i]; j++){
fscanf(fin, "%d", &m[i][j]);
}
k[x]=i;
}
ans=0;
for(i=0; i<n; i++){
if(t[i]==0){
for(j=0; j<p[k[i]]; j++){
t[m[k[i]][j]]=(t[m[k[i]][j]]==0);
}
ans+=cost[k[i]];
}
}
fprintf(fout, "%d\n", ans);
fclose(fin);
fclose(fout);
return 0;
}