Cod sursa(job #672997)

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

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

int v[5001];

int main()
{
	int G,E,e,p;
	f>>G>>E;
	
	for (int i=1; i<=E; ++i)
		v[i]=1000000000;

	for (int i=1; i<=G; ++i)
	{
		f>>e>>p;
		for (int j=E-1; j>=0; j--)
			if (v[j]!=1000000000)
			{
				if (j+e>E && v[j]+p<v[E])
					v[E]=v[j]+p;
				else if (j+e<E && v[j+e]>v[j]+p)
					v[j+e]= v[j]+p;
			}
	}

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