Pagini recente » Cod sursa (job #2946428) | Cod sursa (job #318315) | Cod sursa (job #630978) | Cod sursa (job #2663743) | Cod sursa (job #935598)
Cod sursa(job #935598)
#include <stdio.h>
const int N_MAX = 1024;
struct intr {
int is, t, ls;
} v[N_MAX];
int a[N_MAX][N_MAX], ap[N_MAX];
int main()
{
freopen("aprindere.in", "r", stdin);
freopen("aprindere.out", "w", stdout);
int N, M, C, T, nrC, i, j;
scanf("%d %d\n", &N, &M);
for (i = 1; i <= N; i ++) {
scanf("%d ", &ap[i]);
}
int x;
for (i = 1; i <= M; i ++) {
scanf("%d %d %d\n", &C, &T, &nrC);
v[C + 1].is = 1;
v[C + 1].t = T;
v[C + 1].ls = nrC;
for (j = 1; j <= nrC; j ++) {
scanf("%d ", &x);
a[C + 1][x + 1] = 1;
}
}
int tf = 0;
for (i = 1; i <= N; i ++) {
if (!ap[i]) {
//printf("%d %d\n", v[i].t, i);
tf += v[i].t;
for (j = 1; j <= N; j ++) {
if (a[i][j]) {
//printf("%d ", j);
ap[j] ^= 1;
}
//printf("\n");
}
}
}
printf("%d\n", tf);
return 0;
}