Pagini recente » Cod sursa (job #282459) | Cod sursa (job #114455) | Borderou de evaluare (job #3146041) | Cod sursa (job #92241) | Cod sursa (job #1110194)
#include <cstdio>
#include <algorithm>
using namespace std;
int d[5050][10100];
int gi[5050], p[5050];
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int n,g,i,j,pmax=0;
scanf("%d%d",&n,&g);
for(i=1;i<=n;i++) scanf("%d%d",&gi[i],&p[i]);
for(i=1;i<=n;i++)
{
for(j=0;j<=g;j++)
{
d[i][j]=d[i-1][j];
if(gi[i]<=j)
{
d[i][j]=max(d[i][j],d[i-1][j-gi[i]]+p[i]);
}
}
}
pmax=d[n][g];
printf("%d\n",pmax);
return 0;
}