Cod sursa(job #3331023)

Utilizator Mihai804kral mihai Mihai804 Data 23 decembrie 2025 19:48:23
Problema Aprindere Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <bits/stdc++.h>
using namespace std;

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

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

    int n, m;
    fin >> n >> m;

    int bec[1005];
    for (int i = 0; i < n; i++)
        fin >> bec[i];

   
    bool areIntr[1005] = {false};
    Intrerupator intr[1005];

    for (int i = 0; i < m; i++) {
        int camera;
        fin >> camera;

        areIntr[camera] = {true};
        fin >> intr[camera].timp;
        fin >> intr[camera].nr;

        for (int j = 0; j < intr[camera].nr; j++)
            fin >> intr[camera].camere[j];
    }

    long long cost = 0;


    for (int i = 0; i < n; i++) {
       
        if (!areIntr[i]) continue;

 
        if (bec[i] == 0) {
            cost += intr[i].timp;

   
            for (int j = 0; j < intr[i].nr; j++) {
                int x = intr[i].camere[j];
                bec[x] ^= 1;
            }
        }
    }

    fout << cost;
    return 0;
}