Cod sursa(job #1575951)
Utilizator | Data | 21 ianuarie 2016 22:42:08 | |
---|---|---|---|
Problema | Aprindere | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.73 kb |
#include<fstream>
#include<vector>
using namespace std;
ifstream fin("aprindere.in");
ofstream fout("aprindere.out");
const int NMax = 1005;
int N,M,Sol;
int L[NMax];
vector <int> J;
int main()
{
int C,T,Nr,i,j,x;
fin>>N>>M;
for(i=0;i<N;++i)
fin>>L[i];
for(i=1;i<=M;++i)
{
fin>>C>>T>>Nr;
for(j=1;j<=Nr;++j)
{
fin>>x;
J.push_back(x);
}
if(L[C] == 0)
{
Sol+=T;
L[C] = 1 - L[C];
for(j=0;j<Nr;++j)
L[J[j]] = 1 - L[J[j]];
}
J.clear();
}
fout<<Sol<<"\n";
fin.close();
fout.close();
return 0;
}