Cod sursa(job #953446)

Utilizator Andrei1998Andrei Constantinescu Andrei1998 Data 26 mai 2013 10:19:21
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <vector>

using namespace std;

struct camera
{
   bool stare;
   int cost;
   vector<int> urmasi;
}v[1005];

int main()
{
    ifstream fin("aprindere.in");
    ofstream fout("aprindere.out");

    int n,m,poz,nr,j,unde,i;
    fin>>n>>m;
    for(i=0;i<n;i++)
        fin>>v[i].stare;

    for(i=0;i<m;i++)
    {
        fin>>poz;
        fin>>v[poz].cost;
        fin>>nr;
        for(j=0;j<nr;j++)
        {
            fin>>unde;
            v[poz].urmasi.push_back(unde);
        }
    }
    int total=0;
    vector<int>::iterator it;

    for(i=0;i<n;i++)
        if(!v[i].stare)
        {
            total+=v[i].cost;
            for(it=v[i].urmasi.begin();it!=v[i].urmasi.end();it++)
                v[*it].stare=1-v[*it].stare;
        }
    fout<<total<<'\n';
    fin.close();
    fout.close();
    return 0;
}