Pagini recente » Diferente pentru problema/dame intre reviziile 11 si 3 | Cod sursa (job #2434655) | Diferente pentru nume intre reviziile 15 si 9 | Diferente pentru problema/ejoc intre reviziile 11 si 10 | Cod sursa (job #2377583)
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
int N, G; cin >> N >> G;
auto v = vector<pair<int, int>>(N);
auto sol = vector<int>(G + 1);
for (auto&& [gr, val]: v)
cin >> gr >> val;
for (auto&& [gr, val]: v)
for(auto j = G; j >= gr; --j)
if(gr <= j)
sol[j] = max(val + sol[j - gr], sol[j]);
cout << sol[G] << endl;
}