Cod sursa(job #902266)

Utilizator StexanIarca Stefan Stexan Data 1 martie 2013 13:27:06
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.62 kb
using namespace std;
#define min(a,b) ((a)<(b)?(a):(b))
#include<iostream>
#include<fstream>

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

int ga,n,retval;
int wg[5001],pg[5001];
int dp[12000];

int main()
{
	f>>n;
	f>>ga;
	int i;
	for(i=1; i<=n; i++)
	{
		f>>wg[i]>>pg[i];
	}
	dp[0]=1;


	    for(i = 1; i <= n;i++)
			for( int 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];


			}
	int 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;


}