Pagini recente » Cod sursa (job #122532) | Cod sursa (job #244627) | Cod sursa (job #2707294) | Cod sursa (job #122134) | Cod sursa (job #1074138)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("aprindere.in");
ofstream out("aprindere.out");
const int NMAX = 1001;
int N, M;
bool state[NMAX];
int switches[NMAX], swtime[NMAX];
vector<int> roomSwitched[NMAX];
int main()
{
int i, room, totalTime = 0;
in >> N >> M;
for(i = 0; i < N; i++)
in >> state[i];
for(i = 0; i < M; i++){
in >> room;
in >> swtime[room] >> switches[room];
for(int j = 0, val; j < switches[room]; j++){
in >> val;
roomSwitched[room].push_back(val);
}
}
for(i = 0; i < N; i++){
if(state[i] == 0){//powered off
totalTime += swtime[i];
for(room = 0; room < switches[i]; room++)
state[roomSwitched[i][room]] ^= true;
}
}
out << totalTime << '\n';
return 0;
}