Cod sursa(job #1073245)

Utilizator ioalexno1Alexandru Bunget ioalexno1 Data 5 ianuarie 2014 20:29:35
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.81 kb
#include <fstream>
#include <vector>


using namespace std;

const int MAX_N = 1e4;
int st[MAX_N], t[MAX_N];
vector <int> G[MAX_N];

int main(){

    ifstream cin( "aprindere.in" );

    int N, M;
    cin >> N >> M;

    for( int i = 0; i < N; ++i )
        cin >> st[i];
    for( int i = 0; i < M; ++i ){

        int c, nr;
        cin >> c;
        cin >> t[c] >> nr;
        for( int j = 0; j < nr; ++j ){

            int x;
            cin >> x;
            G[c].push_back( x );
            }
    }
    cin.close();

    int ans = 0;
    for( int i = 0; i < N; ++i ){

        if( !st[i] ){

            ans += t[i];
            for( unsigned int j = 0; j < G[i].size(); ++j )
                st[G[i][j]] ^= 1;
            }
    }

    ofstream cout( "aprindere.out" );

    cout << ans;
    cout.close();
    return 0;
}