Cod sursa(job #902003)

Utilizator StexanIarca Stefan Stexan Data 1 martie 2013 12:31:43
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
using namespace std;
#include<iostream>
#include<fstream>

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

int ga,n;
int wg[5001],pg[5001];
int dp[10000];

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

	int s=0;
	bool ok=true;
	    for(i = 1; i <= n && ok; ++i)
			for( int j=ga-wg[i]; j >= 0; --j)
			{
				if( dp[j+wg[i]]<dp[j]+pg[i] )
				{
					dp[j+wg[i]] = dp[j] + pg[i];
					if( dp[j+wg[i]] > s)
						{
							s=dp[j+wg[i]];
							if(s>ga)
							{ ok=false; break; }
				}
			}
			}
	g<<s;

}