Cod sursa(job #3136041)

Utilizator RobertCNMBrobertM RobertCNMB Data 5 iunie 2023 11:09:18
Problema Aprindere Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;
ifstream fin("aprindere.in");
ofstream fout("aprindere.out");

struct toggle {
    int time;
    int nr;
    int bulbs[1000];
} aux;

int n, m, timecounter;
bool state[1000];
toggle toggles[1000];
int main(){
    fin >> n >> m;
    for (int i = 0; i < n; i++)
        fin >> state[i];
    for (int i = 0; i < m; i++){
        fin.ignore(4, ' ');
        fin >> aux.time >> aux.nr;
        for (int j = 0; j < aux.nr; j++)
            fin >> aux.bulbs[j];
        toggles[aux.bulbs[0]] = aux;
    }
    for (int i = 0; i < n; i++){
        if (state[i] == 0){
            for (int j = 0; j < toggles[i].nr; j++)
                state[toggles[i].bulbs[j]] ^= 1;
            timecounter += toggles[i].time;
        }
    }
    fout << timecounter;
    return 0;
}