Pagini recente » Cod sursa (job #1866605) | Cod sursa (job #1330094) | Cod sursa (job #518298) | Cod sursa (job #277241) | Cod sursa (job #2498297)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("aprindere.in");
ofstream fout("aprindere.out");
struct usu
{
int c, t, nr;
int a[101];
bool operator <(const usu &aux)const
{
return t < aux.t;
}
}x[1001];
int n, m;
int ok[1001];
int main()
{
fin >> n >> m;
for(int i = 0; i < n; ++i) fin >> ok[i];
for(int i = 1; i <= m; ++i)
{
fin >> x[i].c >> x[i].t >> x[i].nr;
for(int j = 1; j <= x[i].nr; ++j) fin >> x[i].a[j];
}
sort(x + 1, x + m + 1);
int sol = 0;
for(int i = 1; i <= m; ++i)
{
if(!ok[x[i].c])
{
sol = sol + x[i].t;
for(int j = 1; j <= x[i].nr; ++j) ok[x[i].a[j]] = (ok[x[i].a[j]] + 1) % 2;
}
}
fout << sol << "\n";
return 0;
}