Pagini recente » Istoria paginii runda/ichc_preoji2010/clasament | Cod sursa (job #1986978) | Cod sursa (job #244918) | Cod sursa (job #181833) | Cod sursa (job #1777493)
#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+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;
}