Cod sursa(job #2170821)

Utilizator AndreiSorin26012001Cirpici Andrei Sorin AndreiSorin26012001 Data 15 martie 2018 09:53:01
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<bits/stdc++.h>

using namespace std;

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

int n, m, x, sol;
int c[1005];

struct s
{
    bool intr = false;
    int timp = 0;

    int nrCamere = 0;
    int arr[1005];

}info[1005];

int main()
{

    in>>n>>m;
    for( int i = 0; i < n; i++ )
        in>>c[i];

    for( int i = 0; i < m; i++ )
    {
        in>>x;

        info[x].intr = true;
        in>>info[x].timp>>info[x].nrCamere;

        for( int j = 0; j < info[x].nrCamere; j++ )
            in>>info[x].arr[j];
    }

    for( int i = 0; i < n; i++ )
        if( c[i] == 0 && info[i].intr == true )
        {
            for( int j = 0; j < info[i].nrCamere; j++ )
                if( c[ info[i].arr[j] ] == 0 )
                    c[ info[i].arr[j] ] = 1;
                else
                    c[ info[i].arr[j] ] = 0;

            sol += info[i].timp;
        }

    out<<sol;

    return 0;
}