Cod sursa(job #904972)

Utilizator classiusCobuz Andrei classius Data 5 martie 2013 10:04:49
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
//#include "stdafx.h"
#include <fstream>
#include <vector>
#define min(a,b) ((a)<(b)?(a):(b))

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

int n,ga,i,j,s;
int wg[5100],pg[5100],dp[12000];

int main()
{

	f>>n>>ga;

	for(i=1;i<=n;i++) f>>wg[i]>>pg[i];
	dp[0]=1;

	for(i=1;i<=n;i++)
	{
		for(j=5100;j>=0;j--)
		{
			if(dp[j])
			{
				if(!dp[j+wg[i]]||dp[j+wg[i]]>dp[j]+pg[i]) dp[j+wg[i]]=dp[j]+pg[i];
			}
		}
	}
	s=2*5100;

	for(i=ga;i<2*5100;i++) if(dp[i]) s=min(s,dp[i]);

	if(s==2*5100) s=0;
	g<<s-1;

	return 0;
}