Pagini recente » Cod sursa (job #1378575) | Cod sursa (job #13916) | Cod sursa (job #445221) | Cod sursa (job #1392432) | Cod sursa (job #505409)
Cod sursa(job #505409)
#include<fstream>
#include<bitset>
using namespace std;
ifstream f("aprindere.in");
ofstream g("aprindere.out");
int t[1009];
bool on[1009];
int info[1009][109];
void flip(int i)
{ if(on[i]) on[i]=0;
else on[i]=1;
}
int main()
{ int i,j,N,M,cost,nrc;
f>>N>>M;
for(i=0;i<N;i++)
{ f>>j; on[i]=(j==1?1:0); }
for(i=1;i<=M;i++)
{ f>>j>>cost>>nrc;
info[j][0]=cost; info[j][1]=nrc;
for(int k=2;k<=nrc+1;k++)
f>>info[j][k];
}
for(i=0;i<N;i++)
{ if(info[i][1]==0) continue;
if(on[i])
{ if(i>=1)
t[i]=t[i-1];
else t[i]=0;
continue;
}
if(i>=1)
t[i]=t[i-1]+info[i][0];
else t[i]=info[i][0];
for(j=2;j<=info[i][1]+1;j++)
flip(info[i][j]);
}
g<<t[N-1];
f.close();
g.close();
return 0;
}