Pagini recente » Cod sursa (job #637350) | Cod sursa (job #1992835) | Cod sursa (job #2320126) | Cod sursa (job #2299285) | Cod sursa (job #3281300)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
struct Obiect {
int g, p;
};
int main() {
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int N, G, i, j;
fin >> N >> G;
vector<Obiect> a(N);
vector<int> g(G+1);
for(i=0; i<N; ++i) {
fin >> a[i].g >> a[i].p;
for(j=G; j>0; --j) {
if(j >= a[i].g) {
g[j] = max(g[j-a[i].g] + a[i].p, g[j]);
}
}
}
int maxx = 0;
for(j=G; j>0; --j) {
maxx = max(g[j], maxx);
}
fout << maxx << '\n';
return 0;
}