Pagini recente » Cod sursa (job #2420549) | Cod sursa (job #2656449) | Cod sursa (job #2858805) | Cod sursa (job #3145309) | Cod sursa (job #8603)
Cod sursa(job #8603)
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <vector>
using namespace std;
#define FOR(i, a, b) for (i = (a); i <= (b); i ++)
#define REP(i, n) for (i = 0; i < (n); i ++)
#define PB push_back
#define NMAX 1024
int N, M, i, j, k;
int A[NMAX], T[NMAX];
vector<int> adj[NMAX];
int main(void)
{
freopen("aprindere.in", "r", stdin);
freopen("aprindere.out", "w", stdout);
scanf("%d %d", &N ,&M);
REP(i, N) scanf("%d", &A[i]);
REP(i, M)
{
int C, TC, NRC;
scanf("%d %d %d", &C, &TC, &NRC);
T[C] = TC;
REP(j, NRC)
scanf("%d", &k), adj[C].PB(k);
}
int Ans = 0;
REP(i, N)
if (!A[i])
{
Ans += T[i];
for (vector<int> :: iterator it = adj[i].begin(); it != adj[i].end(); it ++)
A[*it] ^= 1;
}
printf("%d\n", Ans);
return 0;
}