Cod sursa(job #1592709)

Utilizator BogdanIonesqBogdan Ionescu BogdanIonesq Data 7 februarie 2016 21:05:09
Problema Aprindere Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>

using namespace std;

int n, m, arr[1000][100], light[1000];

int main()
{
	unsigned i, j, on,maxi, index, timp=0;
	ifstream in ("aprindere.in");
	ofstream out ("aprindere.out");

	in >> n >> m;

	for (i=0; i <=n-1 ; i++)
	{
		in >> light[i];
	}

	for (i=1; i <=m ; i++)
	{
		on=0;
		in >> arr[i][1];
		in >> arr[i][2];
		in >> arr[i][3];
		for (j=1; j <= arr[i][3]; j++)
		{
			in >> arr[i][j+3];
		}
	}

	index=1;
	maxi=1;
	while (maxi!=0)
	{
		max=0;
		on=0;
		for (i=index; i <= m ; i++)
		{
			for (j=4; j <= 3+arr[i][3]; j++)
			{
				if ( light[arr[i][j]] == 0) on++;
			}
			if ( on > maxi)
			{
				nr_cam=arr[i][1];
				maxi = on;
			}
		}
		for (j=4; j <= 3+arr[nr_cam][arr[nr_cam][3]]; j++)
		{
			if (light[j] == 1)
				light[j]=0;
			else
				light[j]=1;
			timp=timp+arr[nr_cam][2];
			index=arr[nr_cam][1];
		}
	}

	out << timp;


	return 0;


}