Pagini recente » Cod sursa (job #527874) | Cod sursa (job #2203197) | Cod sursa (job #2920356) | Cod sursa (job #1760106) | Cod sursa (job #1097011)
#include<stdio.h>
int sol[10001],w[5001],p[5001];
int n,g,i,j,k,maxim;
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d%d",&n,&g);
for(j=1;j<=g;j++)
sol[j]=-1;
for(i=1;i<=n;i++)
scanf("%d%d",&w[i],&p[i]);
sol[0]=0;
for(i=1;i<=n;i++)
for(j=g-w[i];j>=0;j--)
if(sol[j]!=-1)
if(sol[j]+p[i]>sol[j+w[i]])
sol[j+w[i]]=sol[j]+p[i];
for(i=2;i<=g;i++)
if(sol[i]>maxim)
maxim=sol[i];
printf("%d\n",maxim);
return 0;
}