Pagini recente » Cod sursa (job #1553137) | Cod sursa (job #783911) | Cod sursa (job #1260032) | Cod sursa (job #1492066) | Cod sursa (job #2096997)
#include <stdio.h>
#include <stdlib.h>
int s[10001],r[10001];
int main()
{
int n,g,i,w,p,j,max;
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d%d",&n,&g);
r[0]=1;
for(i=1; i<=n; i++)
{
scanf("%d%d",&w,&p);
for(j=g-w; j>=0; j--)
if(r[j]==1)
if(r[j+w]==0)
s[j+w]=s[j]+p,r[j+w]=1;
else
if(s[j+w]<s[j]+p)
s[j+w]=s[j]+p;
}
max=0;
for(i=g; i>=0; i--)
if(s[i]>max)
max=s[i];
printf("%d\n",max);
return 0;
}