Pagini recente » Cod sursa (job #1480652) | Cod sursa (job #338951) | Cod sursa (job #289540) | Cod sursa (job #1979342) | Cod sursa (job #3333045)
#include <bits/stdc++.h>
using namespace std;
ifstream in ("aprindere.in");
ofstream out ("aprindere.out");
const int NMAX = 5e4;
int i, j;
int a[1001];
struct Switch {
bool exista;
int timp, NrCamere;
int c[101];
} v[1001];
int main ()
{
int N, M;
in >> N >> M;
for (i = 0; i < N; i++)
in >> a[i];
for (i = 0; i < M; i++)
{
int C, T, NRC;
in >> C >> T >> NRC;
v[C].exista = true;
v[C].timp = T;
v[C].NrCamere = NRC;
for (j = 0; j < NRC; j++)
in >> v[C].c[j];
}
bool schimbare = true;
long long timp_total = 0;
for (i = 0; i < N; i++)
{
if (!v[i].exista)
continue;
if (!a[i])
{
for (j = 0; j < v[i].NrCamere; j++)
{
int ID = v[i].c[j];
a[ID] ^= 1;
}
timp_total += v[i].timp;
}
}
out << timp_total;
return 0;
}