Cod sursa(job #2677765)
| Utilizator | Data | 27 noiembrie 2020 13:16:57 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <bits/stdc++.h>
using namespace std;
int n, G, i, j, v[5005], g[5005], dp[10005];
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%d %d", &n, &G);
for(i = 1; i <= n; i ++)
scanf("%d %d", &g[i], &v[i]);
for(i = 1; i <= n; i ++)
for(j = G; j >= g[i]; j --)
dp[j] = max(dp[j], dp[j - g[i]] + v[i]);
printf("%d", dp[G]);
return 0;
}
