Pagini recente » Cod sursa (job #326073) | Cod sursa (job #1730919) | Cod sursa (job #2371889) | Cod sursa (job #816641) | Cod sursa (job #1946873)
#include <fstream>
using namespace std;
ifstream in("aprindere.in");
ofstream out("aprindere.out");
const int NMAX = 1002;
struct camera{
bool aprins;
int camere[NMAX];
int t;
int catecamere;
};
camera v[NMAX];
int N, M;
void Read(){
int indice, timp, cate;
int nr;
in >> N >> M;
for(int i = 0; i < N; ++i)
in >> v[i].aprins;
for(int i = 0; i < M; ++i){
in >> indice;
in >> v[indice].t >> v[indice].catecamere;
for(int j = 0; j < v[indice].catecamere; ++j){
in >> nr;
v[indice].camere[j] = nr;
}
}
}
void SolveAndPrint(){
int sol = 0;
for(int i = 0; i < N; ++i){
if(v[i].aprins == 0){
sol += v[i].t;
for(int j = 0; j < v[i].catecamere; ++j){
v[v[i].camere[j]].aprins = !v[v[i].camere[j]].aprins;
}
}
}
out << sol << "\n";
}
int main(){
Read();
SolveAndPrint();
return 0;
}