Pagini recente » Cod sursa (job #392278) | Cod sursa (job #2394482) | Cod sursa (job #70833) | Monitorul de evaluare | Cod sursa (job #3330992)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("aprindere.in");
ofstream fout("aprindere.out");
struct intrerupator {
int timp, nr, camere[101];
bool exista;
} intr[1001];
void fol_intr(int i, int lum[], int &tt) {
tt += intr[i].timp;
for (int j = 0; j < intr[i].nr; j++) {
int cam = intr[i].camere[j];
lum[cam] = 1 - lum[cam];
}
}
int main() {
int n, m, lum[1001], i_cam, tt = 0;
fin >> n >> m;
for (int i = 0; i < n; i++)
fin >> lum[i];
for (int i = 0; i < n; i++)
intr[i].exista = false;
for (int i = 0; i < m; i++) {
fin >> i_cam;
intr[i_cam].exista = true;
fin >> intr[i_cam].timp >> intr[i_cam].nr;
for (int j = 0; j < intr[i_cam].nr; j++)
fin >> intr[i_cam].camere[j];
}
for (int i = 0; i < n; i++)
if (lum[i] == 0)
fol_intr(i, lum, tt);
fout << tt;
return 0;
}