Pagini recente » Cod sursa (job #2923654) | Cod sursa (job #238111) | Cod sursa (job #680023) | Cod sursa (job #1391084) | Cod sursa (job #1431310)
#include <iostream>
#include<cstdio>
using namespace std;
int N,G,v[10001],g,p,i,j;
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","W",stdout);
scanf("%d%d",&N,&G);
for(i=1;i<=G;i++)
v[i]=-1;
v[0]=0;
for(i=1;i<=N;i++)
{
scanf("%d%d",&g,&p);
for(j=G-g;j>=0;j--)
{
if(v[j]!=-1)
{
if(v[j+g]<v[j]+p)
v[j+g]=v[j]+p;
}
}
}
int Max=0;
for(i=1;i<=G;i++)
if(Max<v[i])
Max=v[i];
printf("%d",Max);
return 0;
}