Pagini recente » Cod sursa (job #2840615) | Cod sursa (job #1957014) | Cod sursa (job #2679402) | Cod sursa (job #3283378) | Cod sursa (job #3267558)
#include <fstream>
using namespace std;
ifstream fin("aprindere.in");
ofstream fout("aprindere.out");
struct bec {
int camera;
int timp;
int nrc;
struct camere {
int idx;
} cam[1001];
}v[1001];
int main()
{
int n, m, lumina[1001];
fin >> n >> m;
for (int i = 0; i < n; i++)
fin >> lumina[i];
for (int i = 0; i < m; i++) {
fin >> v[i].camera >> v[i].timp >> v[i].nrc;
for (int j = 0; j < v[i].nrc; j++)
fin >> v[i].cam[j].idx;
}
bool sortat;
do {
sortat = false;
for (int i = 0; i < n - 1; i++)
if (v[i].timp > v[i + 1].timp) {
bec aux = v[i];
v[i] = v[i + 1];
v[i + 1] = aux;
sortat = true;
}
} while (sortat);
int timp_total = 0;
for (int i = 0; i < m; i++) {
if (lumina[v[i].camera] == 0) {
timp_total += v[i].timp;
for (int j = 0; j < v[i].nrc; j++) {
int idx = v[i].cam[j].idx;
lumina[idx] = 1 - lumina[idx];
}
}
}
fout << timp_total;
return 0;
}