Cod sursa(job #975869)

Utilizator enedumitruene dumitru enedumitru Data 21 iulie 2013 22:01:27
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 kb
#include<fstream>
using namespace std;
ifstream f("aprindere.in"); ofstream g("aprindere.out");
int n,m,T,v[1001];
int main ()
{   f>>n>>m;
	int i,j;
    for(i=0;i<n;++i) f>>v[i];
    for(i=1;i<=m;++i)
    {   int c,tc,nrc,x;
		f>>c>>tc>>nrc;
        if(!v[c])
        {   T+=tc;
            for(j=1;j<=nrc;++j) f>>x,v[x]^=1;
        }
        else for(j=1;j<=nrc;++j) f>>x;
    }
    g<<T<<'\n'; g.close(); return 0;
}
/*
 Se pot afla usor intrerupatoarele care trebuie actionate astfel: se parcurg camerele de la stanga la dreapta,
 iar in momentul in care ajungem la o camera cu becul inchis trebuie sa actionam intrerupatorul din camera respectiva
 (daca nu exista intrerupator, atunci nu avem solutie). Cum intrerupatorul respectiv actioneaza becuri din camere >= i,
 nu vom modifica nimic din becurile precedente. De asemenea, vom aduna costul lor la rezultat.
*/