Cod sursa(job #1071868)

Utilizator ELHoriaHoria Cretescu ELHoria Data 3 ianuarie 2014 16:58:51
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.8 kb
#include <fstream>
#include <vector>
#include <algorithm>
 
using namespace std; 
 
typedef vector<int> VI; 
#define REP(i,n) for(int i = 0;i<(int)n;++i)
 
ifstream cin("aprindere.in");
ofstream cout("aprindere.out");
 
const int NMAX = 1002;
int n, m;
bool light[NMAX];
int T[NMAX];
vector<int> W[NMAX];
 
int main()
{
    cin>>n>>m;
    REP(i,n) {
        cin>>light[i];
    }
    REP(i,m) {
        int c, numC;
        cin>>c;
        cin>>T[c];
        cin>>numC;
        W[c].resize(numC);
        REP(j,numC) {
            cin>>W[c][j];
        }
    }
    int ans = 0;
    REP(i,n) {
        if(!light[i]) {
            ans += T[i];
            REP(j,W[i].size()) {
                light[W[i][j]] ^= 1;
            }
        }
    }
    cout<<ans;
    return 0;
}