Cod sursa(job #2272219)

Utilizator NOSCOPEPROKENDYMACHEAMACUMVREAU NOSCOPEPROKENDY Data 29 octombrie 2018 20:52:19
Problema Aprindere Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <bits/stdc++.h>

using namespace std;



FILE *f = freopen("aprindere.in", "r", stdin);

FILE *g = freopen("aprindere.out", "w", stdout);



int n, m, nr, c, t, timp;

int v[1005][105];

bool on[1005];



void Read()

{

    scanf("%d%d", &n, &m);

    for( int i = 0; i < n; ++i )

        scanf("%d", &on[i]);

    while( m-- )

    {

        scanf("%d%d%d", &c, &t, &nr);

        v[c][0] = t;

        for( int i = 1; i <= nr; ++i )

            scanf("%d", &v[c][i] );

        v[c][nr+1] = -1;

    }

}



void Greedy()

{

    for( int i = 0; i < n; ++i )

        if( on[i] == 0 )

        {

            timp += v[i][0];

            for( int j = 1; v[i][j] != -1; ++j )

                on[v[i][j]] = 1 - on[v[i][j]];

        }

    printf("%d\n", timp);

}



int main()

{

    Read();

    Greedy();

    return 0;

}