Pagini recente » Cod sursa (job #3173172) | Cod sursa (job #1522020) | Cod sursa (job #296200) | Cod sursa (job #1194587) | 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';
}