Cod sursa(job #1061733)

Utilizator UnforgivenMihai Catalin Botezatu Unforgiven Data 20 decembrie 2013 10:58:25
Problema Aprindere Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <vector>

const static int NMAX = 1001;

using namespace std;

int N , M;
vector<int> camere[NMAX];
int timpi[NMAX];
bool aprins[NMAX];
ifstream input("aprindere.in");
ofstream output("aprindere.out");

int main()
{
	input >> N >> M;

	for (int i = 0; i < N ; i++)
		input >> aprins[i];

	for (int i = 0; i < M ; i++)
	{
		int camera , nrIntrerupatoare;
		input >> camera;
		input >> timpi[camera];
		input >> nrIntrerupatoare;
		camere[camera].resize(nrIntrerupatoare);
		for (int j = 0;j < nrIntrerupatoare ; j++)
			input >> camere[camera][j];
	}

	int timpTotal = 0;

	for (int i = 0; i < N ; i++)
	{
		if (!aprins[i])
		{
			timpTotal += timpi[i];
			for (int j = 0; j < camere[i].size();j++)
				aprins[camere[i][j]] = !aprins[camere[i][j]];
		}
	}

	output << timpTotal;
	input.close();
	output.close();

    return 0;
}