Pagini recente » Cod sursa (job #3337984) | Cod sursa (job #824428) | Cod sursa (job #347563) | Cod sursa (job #2806709) | Cod sursa (job #3313344)
#include <fstream>
#include <climits>
#include <algorithm>
using namespace std;
ifstream cin("aprindere.in");
ofstream cout("aprindere.out");
struct rooms {
bool state;
bool intrerupator;
int time;
int nrcamereafectate;
int camereafectate[100];
};
int main (){
int n,m,p,s=0;
rooms v[1000];
// citirea datelor
cin >>n>>m;
for (int i=0;i<n;i++){
cin >> v[i].state;
}
for (int i=0;i<m;i++){
cin>>p;
v[p].intrerupator=1;
cin >> v[p].time >> v[p].nrcamereafectate;
for (int j=0; j< v[p].nrcamereafectate; j++){
cin >> v[p].camereafectate[j];
}
}
//prelucrarea datelor
for (int i=0;i<n;i++){
if (v[i].intrerupator==1 && v[i].state==0){
s=s+v[i].time;
v[i].state==1;
for (int j=0; j< v[i].nrcamereafectate; j++){
v[v[i].camereafectate[j]].state = !v[v[i].camereafectate[j]].state;
}
}
}
//afiarea
cout << s;
}