Pagini recente » Cod sursa (job #3244179) | Cod sursa (job #1599342) | Cod sursa (job #482627) | Cod sursa (job #2986104) | Cod sursa (job #2678948)
#include <stdio.h>
#include <stdlib.h>
#define N 5000
#define K 10000
int g[N],p[N],profit[K],n,k;
int max(int a, int b)
{
if(a>b)
{
return a;
}
return b;
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d%d",&n,&k);
int i,j, rez=-1;
for(j=1;j<=k;j++)
{
profit[j]=-1;
}
for(i=0;i<n;i++)
{
int g,p;
scanf("%d%d",&g,&p);
for(j=k-g;j>=0;j--)
{
if(profit[j]!=-1)
{
profit[j+g]=max(profit[j+g],profit[j]+p);
}
}
}
for(j=1;j<=k;j++)
{
rez=max(rez,profit[j]);
}
printf("%d",rez);
return 0;
}