Cod sursa(job #2447349)
Utilizator | Data | 12 august 2019 22:55:39 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include <bits/stdc++.h>
#define GMAX 10005
int dp[GMAX];
int main() {
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int n, g, w, p;
scanf("%d%d", &n, &g);
for (int i = 1 ; i <= n ; ++i) {
scanf("%d%d", &w, &p);
for (int j = g - w ; j >= 0 ; --j) {
dp[j + w] = std::max(dp[j + w], dp[j] + p);
}
}
printf("%d\n", dp[g]);
return 0;
}