Pagini recente » Cod sursa (job #2367761) | Cod sursa (job #1526363) | Cod sursa (job #68779) | Cod sursa (job #57150) | Cod sursa (job #2857010)
#include <fstream>
#include <vector>
#include <climits>
//#include <algorithm>
#define ll long long
using namespace std;
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");
vector <ll> x;
ll n, g, i, maxi = -1, a, b;
void hatizsak(ll weight, ll cost)
{
ll i;
for (i = g - weight; i >= 1; --i)
{
if (x[i])
{
x[i + weight] = max(x[i + weight], x[i] + cost);
}
if (i == weight) x[i] = max(x[i], cost);
}
}
int main()
{
cin >> n >> g;
x.resize(g + 1, 0);
for (i = 1; i <= n; ++i)
{
cin >> a >> b;
hatizsak(a, b);
}
for (i = 1; i <= g; ++i) maxi = max(maxi, x[i]);
cout << maxi;
}