Cod sursa(job #2493187)
| Utilizator | Data | 16 noiembrie 2019 09:30:21 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.45 kb |
#define NMAX 10000
#include <cstdio>
#include <algorithm>
using namespace std;
int dp[NMAX];
int n, g;
int w, p;
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%d %d", &n, &g);
for(int i = 1; i<=n; ++i)
{
scanf("%d %d", &w, &p);
for(int i=g; i>=w; --i)
dp[i] = max(dp[i], dp[i-w] + p);
}
printf("%d", dp[g]);
return 0;
}
