Pagini recente » Cod sursa (job #750947) | Cod sursa (job #2696043) | Cod sursa (job #2504756) | Cod sursa (job #2820169) | Cod sursa (job #2078762)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
int main() {
int n, g;
cin >> n >> g;
vector < int > dp(g + 1);
for (int i = 1; i <= n; i ++) {
int w, p;
cin >> w >> p;
for (int cur_w = g; cur_w >= 0; cur_w --) {
if (cur_w + w > g) {
continue;
}
dp[cur_w + w] = max(dp[cur_w + w], dp[cur_w] + p);
}
}
int ans = 0;
for (int i = 0; i <= g; i ++) {
ans = max(ans, dp[i]);
}
cout << ans << '\n';
}