Cod sursa(job #1950207)

Utilizator Alex18maiAlex Enache Alex18mai Data 2 aprilie 2017 20:02:52
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>
#include <vector>

using namespace std ;

ifstream  cin ("rucsac.in") ;
ofstream  cout ("rucsac.out") ;

int dp[10001];

int main()
{
	dp [0] = 0 ;
	int sum_cur = 0 ;
	int n, gmax ;
	cin >> n >> gmax ;
	while (n --) {
		int g, p;
		cin >> g >> p ;
		for (int i = min(sum_cur,gmax-g) ; i >= 0 ; -- i) {
			//if (i + g < 10001) {
            dp [i + g] = max (dp [i + g] , dp[i] + p) ;
			//}
		}
		sum_cur += g ;
	}
	int best = 0 ;
	for (int i = gmax; i >= 0; -- i) {
		best = max (best, dp[i]) ;
	}
	cout << best << '\n' ;
	return 0 ;
}