Pagini recente » Cod sursa (job #1355917) | Diferente pentru problema/monede3 intre reviziile 31 si 6 | Diferente pentru sandbox intre reviziile 545 si 546 | Cod sursa (job #733927) | Cod sursa (job #2824454)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("aprindere.in");
ofstream fout("aprindere.out");
const int N = 1000;
vector <int> x[N];
bool v[N];
int t[N];
int main(){
int n, m;
fin >> n >> m;
for(int i = 0; i < n; i++) fin >> v[i];
for(int i = 0; i < m; i++){
int c, nrc;
fin >> c >> t[c] >> nrc;
for(int j = 0; j < nrc; j++){
int e;
fin >> e;
x[c].push_back(e);
}
}
int ans = 0;
for(int i = 0; i < n; i++){
if(!v[i]){
ans += t[i];
for(auto vec : x[i]) v[vec] ^= 1;
}
}
fout << ans;
return 0;
}