Pagini recente » Cod sursa (job #225879) | Cod sursa (job #678664) | Cod sursa (job #1102279) | Cod sursa (job #111845) | Cod sursa (job #2862740)
#include <fstream>
using namespace std;
struct obiect {
int p, g;
};
obiect v[5010];
int n, g, sol, crt;
int D[2][10010];
int main() {
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
fin >> n >> g;
for (int i = 1; i <= n; i++) {
fin >> v[i].g >> v[i].p;
}
crt = 1;
for (int i = 1; i <= n; i++) {
for (int j = g; j >= v[i].g; j--) {
D[crt][j] = max(D[1 - crt][j], D[1 - crt][j - v[i].g] + v[i].p);
sol = max(D[crt][j], sol);
}
crt = 1 - crt;
}
fout << sol;
return 0;
}