Pagini recente » Cod sursa (job #2034021) | Cod sursa (job #2468074) | Cod sursa (job #1710639) | Cod sursa (job #2250685) | Cod sursa (job #2206421)
#include <cstdio>
#include <iostream>
#define NMAX 5001
#define GMAX 10001
using namespace std;
typedef struct {
int weight, value;
} THING;
bool used[NMAX];
int n, W, cache[NMAX][GMAX];
THING things[NMAX];
int main() {
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
cin >> n >> W;
for (int it = 1; it <= n; ++it) {
cin >> things[it].weight >> things[it].value;
}
for (int it = 1; it <= n; ++it) {
for (int g = things[it].weight; g <= W; ++g) {
cache[it][g] = max(cache[it][g], cache[it - 1][g]);
cache[it][g] = max(cache[it][g], cache[it - 1][g - things[it].weight] + things[it].value);
}
}
cout << cache[n][W];
return 0;
}