Pagini recente » Cod sursa (job #860826) | Cod sursa (job #157742) | Cod sursa (job #1428284) | Cod sursa (job #783074) | Cod sursa (job #1143251)
#include <fstream>
#include <vector>
struct SW{
unsigned cost;
std::vector<unsigned> act;
};
int main(){
std::ifstream fin("aprindere.in");
std::ofstream fout("aprindere.out");
unsigned n,m; fin>>n>>m;
std::vector<bool> stari(n,false);
std::vector<SW> intr(n);
for(unsigned i=0;i<n;++i){ char c; fin>>c; if(c=='1') stari[i]=true; }
for(unsigned i=0;i<n;++i){
unsigned ind,c,nr; fin>>ind>>c>>nr;
intr[ind].cost=c;
intr[ind].act.resize(nr);
for(unsigned j=0;j<nr;++j) fin>>intr[ind].act[j];
}
unsigned total=0;
for(unsigned i=0;i<n;++i)
if(!stari[i]){
total+=intr[i].cost;
for(unsigned j=0;j<intr[i].act.size();++j) stari[intr[i].act[j]]=!stari[intr[i].act[j]];
}
fout<<total<<'\n';
}