Pagini recente » Cod sursa (job #1599057) | Cod sursa (job #2309937) | Cod sursa (job #865221) | Cod sursa (job #3033369) | Cod sursa (job #1120061)
#include <cstdio>
#include <algorithm>
#define dmax 5001
#define gmax 10001
using namespace std;
int w[dmax], p[dmax], gf[gmax], n, g;
void read()
{
freopen("rucsac.in", "r", stdin);
freopen("rucsac.out", "w", stdout);
scanf("%i %i", &n, &g);
for(int i=1;i<=n;i++) scanf("%i %i", &w[i], &p[i]);
}
void solve()
{
for(int i=1;i<=n;i++)
for(int j=g-w[i];j>=0;j--)
if(gf[j+w[i]]<gf[j]+p[i])
gf[j+w[i]]=gf[j]+p[i];
}
int main()
{
read();
solve();
printf("%i \n", *max_element(gf+1, gf+g+1));
return 0;
}