Pagini recente » Cod sursa (job #1375929) | Cod sursa (job #1494983) | Cod sursa (job #2723529) | Cod sursa (job #2372884) | Cod sursa (job #1425533)
#include <stdio.h>
#include <algorithm>
using namespace std;
int d[10005];
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int n,g,w,p,maxdr=0,maxp,poz=0,s,i,j;
for(i=1; i<=10000; i++)
d[i]=-1;
scanf("%d%d",&n,&g);
maxdr=0;
for(i=1; i<=n; i++)
{
scanf("%d%d",&w,&p);
for(j=maxdr; j>=0; --j)
if(j+w<=g)
if(d[j]!=-1)
{
d[j+w]=max(d[j+w],d[j]+p);
if(j+w>maxdr)
maxdr=j+w;
}
}
maxp=0;
for(j=1; j<=g; ++j)
if(d[j]>maxp)
maxp=d[j];
printf("%d\n",maxp);
return 0;
}