Cod sursa(job #459322)

Utilizator R.A.RFMI Romila Remus Arthur R.A.R Data 29 mai 2010 11:19:40
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include<fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int P[5001],C[1001],E[1001];
int i,j,maxim=0;
int W,G;
int main ()
{
	in>>G;
	in>>W;
	for(i=0;i<G;i++)
		in>>E[i]>>C[i];
	P[0]=1;
	for(i=0;i<G;i++)
	{
		for(j=maxim;j>=0;j--)
			if(P[j])
			{
				if(maxim<j+E[i])
					maxim = j+E[i];
				if(P[j+E[i]]==0||P[j+E[i]]>P[j]+C[i])
					P[j+E[i]]=P[j]+C[i];
			}
	}
	for(i=W;i<=maxim;i++)
		if(P[i])
			if(P[W]>P[i])
				P[W]=P[i];
	if(P[W])
		out<<P[W]-1<<'\n';
	else
		out<<"-1\n";
	return 0;
}