Cod sursa(job #1081977)

Utilizator maritimCristian Lambru maritim Data 14 ianuarie 2014 00:08:09
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include<iostream>
#include<fstream>

using namespace std;

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


#define MaxN 1010
#define MaxNr 110

int N,M,Sol;
int A[MaxN];
int T[MaxN],NR[MaxN],Lista[MaxN][MaxNr];

void citire(void)
{
    int c;

    f >> N >> M;
    for(int i=0;i<N;i++)
        f >> A[i];
    for(int i=1;i<=M;i++)
    {
        f >> c;
        f >> T[c] >> NR[c];
        for(int j=1;j<=NR[c];j++)
            f >> Lista[c][j];
    }
}

void Rezolvare(void)
{
    for(int i=0;i<N;i++)
        if(!A[i] && NR[i])
        {
            Sol += T[i];
            for(int j=1;j<=NR[i];j++)
                A[Lista[i][j]] = !A[Lista[i][j]];
        }
}

int main()
{
    citire();
    Rezolvare();

    g << Sol;
}