Pagini recente » Cod sursa (job #1620277) | Cod sursa (job #2632278) | Cod sursa (job #278759) | Cod sursa (job #2494216) | Cod sursa (job #1017697)
#include <cstdio>
using namespace std;
struct obiect
{
int g,c;
}a[5001];
int n,gmax,cost[10001],max;
void citire()
{
int i;
scanf("%d%d",&n,&gmax);
for(i=1;i<=n;i++)
scanf("%d %d",&a[i].g,&a[i].c);
for(i=1;i<=gmax;i++)
cost[i]=-1;
}
void rez()
{
int i,j;
for(i=1;i<=n;i++)
for(j=gmax-a[i].g;j>=0;j--)
if(cost[j]+a[i].c>cost[j+a[i].g])
{
cost[j+a[i].g]=cost[j]+a[i].c;
if(cost[j+a[i].g]>max)
max=cost[j+a[i].g];
}
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
citire();
rez();
printf("%d",max);
return 0;
}