Pagini recente » Cod sursa (job #896528) | Cod sursa (job #2071953) | Cod sursa (job #1894842) | Cod sursa (job #2512499) | Cod sursa (job #1777492)
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n, g, maxim;
int vec[10005];
void solve()
{
int i, elem;
scanf("%d %d\n", &n, &g);
for (int k=1; k<=n; k++)
{
scanf("%d %d", &i, &elem);
for (int j=g-i; j>=0; j--)
{
if ((vec[j] >0 || j==0) && (vec[j+1] < vec[j] + elem))
{
vec[j+i] = vec[j] + elem;
}
}
}
for (int i=1; i<=g; i++)
if (vec[i] > maxim)
maxim = vec[i];
printf("%d", maxim);
}
int main()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
solve();
return 0;
}