Cod sursa(job #2170843)

Utilizator Gl0WCula Stefan Gl0W Data 15 martie 2018 09:59:40
Problema Aprindere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>

using namespace std;

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

int n, m, x, t, k, v[1001], w[1010][1010], sol;

int main()
{
    fin>>n>>m;
    for(int i = 0; i < n; i++){
        fin>>v[i];
    }
    for(int i = 1; i <= m; i++){
        fin>>x>>t;
        w[x][1] = x;
        w[x][2] = t;
        fin>>k;
        w[x][3] = k;
        for(int j = 1; j <= k; j++){
            fin>>w[x][j + 3];
        }
    }
    for(int i = 1; i <= n; i++){
        if(v[i - 1] == 0){
            if(w[i][1] != 0){
                sol += w[i][2];
                for(int j = 1; j <= w[i][3]; j++){
                    if(v[w[i][j + 3] - 1] == 0){
                        v[w[i][j + 3]] = 1;
                    }
                    else{
                        v[w[i][j + 3] - 1] = 0;
                    }
                }
            }
        }
    }
    fout<<sol;
    return 0;
}