Cod sursa(job #3330987)

Utilizator Pep3Rares Popa Pep3 Data 23 decembrie 2025 16:53:10
Problema Aprindere Scor 100
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.9 kb
#include <fstream>
using namespace std;

ifstream in("aprindere.in");
ofstream out("aprindere.out");

struct intrerupator {
    int timp;
    int nr;
    int camere[105];
};

int main() {
    int n, m;
    in >> n >> m;

    int lumina[1005];
    for (int i = 0; i < n; i++)
        in >> lumina[i];

    intrerupator intr[1005];
    int exista[1005] = {0};

    for (int i = 0; i < m; i++) {
        int c;
        in >> c;
        exista[c] = 1;
        in >> intr[c].timp >> intr[c].nr;
        for (int j = 0; j < intr[c].nr; j++)
            in >> intr[c].camere[j];
    }

    int timpTotal = 0;

    for (int i = 0; i < n; i++) {
        if (lumina[i] == 0) {
            timpTotal += intr[i].timp;
            for (int j = 0; j < intr[i].nr; j++) {
                int cam = intr[i].camere[j];
                lumina[cam] = 1 - lumina[cam];
            }
        }
    }

    out << timpTotal;
    return 0;
}