Cod sursa(job #2442828)

Utilizator Alex18maiAlex Enache Alex18mai Data 25 iulie 2019 14:04:32
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
//ALEX ENACHE

#include <vector>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <unordered_map>
#include <time.h>
#include <iomanip>
#include <deque>
#include <math.h>
#include <cmath>
#include <assert.h>
#include <stack>
#include <bitset>
#include <random>
#include <chrono>

using namespace std;

#include <fstream>
ifstream cin("rucsac.in"); ofstream cout("rucsac.out");

int g[5010];
int v[5010];

int dp[10010];

int main() {

	int n, G;
	cin >> n >> G;

	for (int i = 1; i <= n; i++) {
		cin >> g[i] >> v[i];
		for (int j = G - g[i]; j >= 0; j--) {
			dp[j + g[i]] = max(dp[j + g[i]], dp[j] + v[i]);
		}
	}

	int ans = 0;

	for (int i = G; i >= 1; i--) {
		ans = max(ans, dp[i]);
	}

	cout << ans;

	return 0;
}