Cod sursa(job #672898)

Utilizator RampageSergiu Caraian Rampage Data 3 februarie 2012 13:17:13
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <fstream>
using namespace std;

ifstream f ("energii.in");
ofstream g ("energii.out");

int v[5005];

int main()
{
	int G,E,en,cost,EN=0;
	f>>G>>E;

	for (int i=1; i<=E; ++i)
		v[i]=-1;
	v[0]=0;

	for (;G>0;G--)
	{
		f>>en>>cost;
		EN+=en;
		for (int i=E-en; i>=0; i--)
			if (v[i]!=-1)
			{	
				if (v[i+en]==-1)
					v[i+en]=v[i]+cost;
				else if (v[i+en]>v[i]+cost)
					v[i+en]=v[i]+cost;
			}
	}

	if (EN<E)
		g<<-1;
	else g<<v[E];
	return 0;
}