Cod sursa(job #1018308)

Utilizator vladrochianVlad Rochian vladrochian Data 29 octombrie 2013 11:43:50
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>
using namespace std;
const int INF=2000000000;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,w,pd[1002][5002],c[1002],e[1002],i,j;
int main()
{
	fin>>n>>w;
	for(i=1;i<=n;i++)
		fin>>e[i]>>c[i];
	for(i=0;i<=n;++i)
		for(j=1;j<=w;++j)
			pd[i][j]=INF;
	for(i=1;i<=n;++i)
		for(j=1;j<=w;++j)
			if(e[i]<=j)
				pd[i][j]=min(pd[i-1][j],pd[i-1][j-e[i]]+c[i]);
			else
				pd[i][j]=min(pd[i-1][j],c[i]);
	if(pd[n][w]==INF)
		fout<<"-1\n";
	else
		fout<<pd[n][w]<<"\n";
	return 0;
}