Pagini recente » Cod sursa (job #2693349) | Cod sursa (job #948113) | Cod sursa (job #3212273) | Cod sursa (job #802586) | Cod sursa (job #2716413)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("aprindere.in");
ofstream fout("aprindere.out");
const int NMAX = 1024;
int N, M, C, T[1024], NRC, ans;
vector<int> adj[NMAX];
bool a[NMAX];
int main() {
fin >> N >> M;
for(int i = 0; i < N; ++i)
fin >> a[i];
for(int i = 0; i < M; ++i) {
fin >> C;
fin >> T[C] >> NRC;
adj[C].resize(NRC);
for(int &x : adj[C])
fin >> x;
}
for(int i = 0; i < N; ++i)
if(!a[i]) {
ans += T[i];
for(const int &x : adj[i])
a[x] ^= 1;
if(!a[i]) {
fout << "-1\n";
return 0;
}
}
fout << ans << '\n';
}