Pagini recente » Cod sursa (job #1575432) | Cod sursa (job #2702642) | Cod sursa (job #106960) | Cod sursa (job #1180265) | Cod sursa (job #1681565)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n, G;
int d[10001];
struct obiect {
int g, p;
};
obiect a[5001];
int main() {
int i, j, maxim = 0;
f >> n >> G;
for (i = 1; i <= n; ++i) {
f >> a[i].g >> a[i].p;
}
for (i = 1; i <= n; ++i)
for (j = G - a[i].g ; j >= 0; --j) {
d[j + a[i].g] = max(d[j] + a[i].p , d[j + a[i].g]);
if (d[j + a[i].g] > maxim)
maxim = d[j + a[i].g];
}
g << maxim;
return 0;
}