Cod sursa(job #2260196)

Utilizator GiihuoTihufiNeacsu Stefan GiihuoTihufi Data 14 octombrie 2018 15:56:08
Problema Aprindere Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

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

int main()
{
    int N,M;
    f>>N>>M;
    vector<int> V(N);
    for(auto &i:V) f>>i;

    map<int,pair<int,vector<int>>> S;
    for(int i=0,k,n;i<M;i++)
    {
        f>>k;
        f>>S[k].first>>n;
        S[k].second.resize(n);
        for(auto &i:S[k].second) f>>i;
    }

    int cost=0;
    for(int i=0;i<N;i++)
    {
        if(V[i]==1) continue;
        //if(S[i].second.empty()) {g<<-1; break;}
        for(auto j:S[i].second) V[j]=!(bool)V[j];
        cost+=S[i].first;
    }

    g<<cost;

    return 0;
}