Pagini recente » Cod sursa (job #2610630) | Cod sursa (job #1367590) | Cod sursa (job #654527) | Cod sursa (job #1957983) | Cod sursa (job #1625177)
#include <cstdio>
#include <cstring>
#include <iostream>
#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+i] < 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;
}