Cod sursa(job #2214229)

Utilizator DawlauAndrei Blahovici Dawlau Data 18 iunie 2018 16:16:32
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <vector>
#include <bitset>

using namespace std;

ifstream fin("aprindere.in");
ofstream fout("aprindere.out");

int main() {

	int N, M;
	fin >> N >> M;

	vector <bool> bulbs;
	bulbs.resize(N);

	for (int idx = 0; idx < N; ++idx) {

		bool bulb;
		fin >> bulb;
		bulbs[idx] = bulb;
	}

	int cost = 0;
	for (; M; --M) {

		int C, Tc, NRc;
		fin >> C >> Tc >> NRc;

		bool change = false;
		if (!bulbs[C]) {

			change = true;
			cost += Tc;
		}

		for (int idx = 0; idx < NRc; ++idx) {

			int Switch;
			fin >> Switch;

			if (change)
				bulbs[Switch] = !bulbs[Switch];
		}
	}

	fout << cost;
}