Pagini recente » Cod sursa (job #2385168) | Cod sursa (job #2566894) | Cod sursa (job #2988854) | Cod sursa (job #3175609) | Cod sursa (job #1370308)
#include <cstdio>
#define NMAX 5005
#define GMAX 10005
int n,g;
int w[NMAX],p[NMAX];
int dp[GMAX];
inline int max(const int a,const int b)
{
return (a>b?a:b);
}
void read()
{
scanf("%d%d",&n,&g);
for(int i=1;i<=n;++i)
scanf("%d%d",&w[i],&p[i]);
}
void solve()
{
for(int i=1;i<=n;++i)
for(int j=g;j>=w[i];--j)
dp[j]=max(dp[j],dp[j-w[i]]+p[i]);
printf("%d\n",dp[g]);
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
read();
solve();
return 0;
}