Pagini recente » Cod sursa (job #995314) | Cod sursa (job #501434) | Cod sursa (job #2833262) | Cod sursa (job #1824332) | Cod sursa (job #2565526)
#include <fstream>
#include <iomanip>
#include <string>
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <math.h>
#include <set>
#include <map>
#include <string.h>
#include <queue>
#include <stack>
#define INF 0x3f3f3f3f
using namespace std;
#ifdef DEBUG
string name = "data";
#else
string name = "aprindere";
#endif
ifstream fin(name + ".in");
ofstream fout(name + ".out");
#define MAXN 1024
bool state[MAXN];
int n;
int m;
vector<int> intrerupatoare[MAXN];
int cost[MAXN];
int main() {
fin >> n >> m;
for (int i = 0; i < n; ++i) {
fin >> state[i];
}
for (int i = 0; i < m; ++i) {
int c;
int cnt;
int cst;
fin >> c >> cst >> cnt;
cost[c] = cst;
for (int j = 0; j < cnt; ++j) {
int x;
fin >> x;
intrerupatoare[c].push_back(x);
}
}
int res = 0;
for (int i = 0; i < n; ++i) {
if (!state[i]) {
res += cost[i];
for (auto x: intrerupatoare[i]) {
state[x] = !state[x];
}
}
}
fout << res;
return 0;
}