Cod sursa(job #459319)

Utilizator R.A.RFMI Romila Remus Arthur R.A.R Data 29 mai 2010 11:12:28
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 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]&&j+E[i]<=W)
			{
				if(P[j+E[i]]==0||P[j+E[i]]>P[i]+C[i])
					P[j+E[i]] = P[j]+C[i];
				if(j+E[i]>maxim)
					maxim=j+E[i];
			}
	}
	if(P[W])
		out<<P[W]-1<<'\n';
	else
		out<<"-1\n";
	return 0;
}