Pagini recente » Cod sursa (job #2888349) | Cod sursa (job #2559800) | Cod sursa (job #648269) | Cod sursa (job #352370) | Cod sursa (job #2717267)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> dp(10000, 0);
int main() {
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int nrObiecte, greutateMax;
// assert(fin>>nrObiecte>>greutateMax);
fin>>nrObiecte>>greutateMax;
for(int j = 0; j < nrObiecte; j ++) {
int w, p;
fin >> w >> p;
for (int i = greutateMax; i >= 0; i--) {
if (i + w <= greutateMax)
dp[i + w] = max(dp[i + w], dp[i] + p);
}
}
// for(int i : dp)
// cout<<i<<" ";
fout<<*max_element(dp.begin(), dp.end());
return 0;
}