Cod sursa(job #2601610)

Utilizator denmirceaBrasoveanu Mircea denmircea Data 14 aprilie 2020 19:47:51
Problema Aprindere Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <bitset>
#define dim 1005
using namespace std;
ifstream fin("aprindere.in");
ofstream fout("aprindere.out");
vector <int> aux[dim];
vector < pair<int,int> > intrerupatoare;
int n,m,i,id,t,nr,solt;
bitset<dim> fr;
int main()
{
    fin>>n>>m;
    for(i=0;i<n;i++){
        bool k;
        fin>>k;
        fr[i]=k;
    }
    for(i=0;i<m;i++){
        fin>>id>>t>>nr;
        aux[id].push_back(id);
        for(int j=1;j<=nr;j++){
            int x;
            fin>>x;
            aux[id].push_back(x);
        }
        intrerupatoare.push_back({id,t});
    }
    for(auto it:intrerupatoare){
        if(fr[it.first]==1)
            continue;
        solt+=it.second;
        for(auto it2:aux[it.first])
            fr[it2]=1-fr[it2];
    }
    fout<<solt;
}