Cod sursa(job #811331)

Utilizator macauaMacaua Online macaua Data 11 noiembrie 2012 22:07:10
Problema Problema rucsacului Scor 35
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <stdio.h>
using namespace std;

int min(int a, int b)
{
	return a > b ? b : a;
}
int max(int a, int b)
{
	return a > b ? a : b;
}
using namespace std;
int G, W, EG, CG, i, j, D[5010][10010];

int main()
{

	freopen("rucsac.in", "r", stdin);
	freopen("rucsac.out", "w", stdout);

	cin>>G>>W;

	for(i=1;i<=G;++i)
	{
		cin>>EG>>CG;
		
		for(j=0;j<=W;++j)
		{

			D[i][j] = D[i-1][j];

			if(j >= EG)
				D[i][j] = max(D[i][j], CG + D[i-1][j - EG]);
		
		}
	}
	
	cout<<D[G][W]<<"\n";

	return 0;
	
}