Pagini recente » Cod sursa (job #1129775) | Cod sursa (job #2166352) | Cod sursa (job #1209787) | Cod sursa (job #376663) | Cod sursa (job #3354934)
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int n, g;
cin >> n >> g;
vector<pair<int, int>> v;
vector<int> dp(g + 1, 0);
for (int i = 0; i < n; i++)
{
int w, p;
cin >> w >> p;
v.push_back({w, p});
}
for (int i = 0; i < n; i++)
for (int j = g; j >= v[i].first; j--)
dp[j] = max(dp[j], dp[j - v[i].first] + v[i].second);
cout << dp[g] << endl;
}