Pagini recente » Cod sursa (job #2961415) | Cod sursa (job #1703278) | Cod sursa (job #1883041) | Cod sursa (job #1222959) | Cod sursa (job #2717268)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int nrObiecte, greutateMax;
// assert(fin>>nrObiecte>>greutateMax);
fin>>nrObiecte>>greutateMax;
vector<int> dp(greutateMax + 1, 0);
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;
}