Pagini recente » Cod sursa (job #212373) | Cod sursa (job #1405535) | Cod sursa (job #655920) | Cod sursa (job #439473) | Cod sursa (job #2879502)
#include <algorithm>
#include <fstream>
#include <vector>
using namespace std;
int Solve(const vector<pair<int, int>>& vec, int cap) {
vector<int> dp(cap + 1, 0);
for (const auto& [weight, price] : vec) {
for (int bag = cap; bag >= weight; bag -= 1) {
dp[bag] = max(dp[bag], dp[bag - weight] + price);
}
}
return *max_element(dp.begin(), dp.end());
}
int main() {
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n, cap;
fin >> n >> cap;
vector<pair<int, int>> vec(n);
for (auto& [weight, price] : vec) {
fin >> weight >> price;
}
auto res = Solve(vec, cap);
fout << res << "\n";
return 0;
}