Pagini recente » Cod sursa (job #1648596) | Cod sursa (job #1643345) | Cod sursa (job #1704732) | Cod sursa (job #2787764) | Cod sursa (job #1002955)
#include <iostream>
#include <fstream>
#include <climits>
#include <string.h>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int main() {
int n , w_max;
f >> n >> w_max;
int w[n + 1], p[n + 1];
for (int i = 0; i < n; i++) {
f >> w[i] >> p[i];
}
int best[w_max + 1];
memset(best, 0, (w_max + 1) * sizeof(int));
for (int i = 0; i < n; i++) {
for (int j = w_max; j >= 1; j--) {
best[j] = max(
best[j],
j - w[i] < 0 ? 0 : best[j - w[i]] + p[i]
);
}
}
g << best[w_max];
}