Pagini recente » Cod sursa (job #2855635) | Cod sursa (job #1478138) | Cod sursa (job #206622) | Cod sursa (job #2771377) | Cod sursa (job #3267760)
#include <bits/stdc++.h>
using namespace std;
ifstream in("aprindere.in");
ofstream out("aprindere.out");
int main() {
int n, m, v[1002], a, t, c, v2[1002], s = 0;
bool inchis;
in >> n >> m;
// Citim stările inițiale ale becurilor
for (int i = 0; i < n; i++) {
in >> v[i];
}
// Procesăm fiecare întrerupător
for (int i = 0; i < m; i++) {
in >> a >> t >> c;
inchis = false; // Setați variabila pentru fiecare întrerupător
// Citim camerele care sunt afectate de acest întrerupător
for (int j = 0; j < c; j++) {
in >> v2[j];
// Verificăm dacă există cel puțin un bec stins în camerele afectate
if (v[v2[j]] == 0) {
inchis = true;
}
}
// Dacă cel puțin un bec este stins, activăm întrerupătorul
if (inchis) {
// Inversăm starea becurilor în camerele afectate
for (int j = 0; j < c; j++) {
v[v2[j]] = 1 - v[v2[j]]; // 1 devine 0 și 0 devine 1
}
// Adăugăm timpul necesar pentru acțiunea acestui întrerupător
s += t;
}
}
out << s;
return 0;
}