Cod sursa(job #2838233)

Utilizator d_rawGroza Mihai-Octavian d_raw Data 23 ianuarie 2022 11:41:44
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <bits/stdc++.h>
using namespace std;

#define N 10005
#define M 5005

int dp[N][M];

int main()
{
	int n, G, j;
	pair <int, int> v[N];
	cin >> n >> G;
	for(int i = 1; i <= n; i++)
		cin >> v[i].first >> v[i].second;
	for(int i = 1; i <= n; i++)
		for(j = 0; j <= G; j++){
			if(j < v[i].first)
			dp[i][j] = dp[i - 1][j];
			else dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - v[i].first] + v[i].second);
	}
	cout << dp[n][G];
	return  0;
}