Cod sursa(job #3267761)

Utilizator maxtraAlex Deonise maxtra Data 12 ianuarie 2025 11:39:03
Problema Aprindere Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1 kb
#include <bits/stdc++.h>

using namespace std;

int main() {
    ifstream fin("aprindere.in");
    ofstream fout("aprindere.out");

    int n, m, a[1001], poz, t, nr, c[1001], sum = 0;
    
    // Citirea datelor de intrare
    fin >> n >> m;
    for (int i = 0; i < n; i++) {
        fin >> a[i];
    }

    // Procesăm fiecare întrerupător
    for (int i = 0; i < m; i++) {
        fin >> poz >> t >> nr;

        // Citim camerele afectate de acest întrerupător
        for (int j = 0; j < nr; j++) {
            fin >> c[j];
        }

        // Dacă becul din camera poz este stins, acționăm întrerupătorul
        if (a[poz] == 0) {
            // Inversăm starea becurilor din camerele afectate
            for (int j = 0; j < nr; j++) {
                a[c[j]] = 1 - a[c[j]]; // 1 devine 0 și 0 devine 1
            }
            // Adăugăm timpul necesar pentru acțiunea acestui întrerupător
            sum += t;
        }
    }

    // Afișăm rezultatul
    fout << sum;

    return 0;
}