Pagini recente » Cod sursa (job #1014669) | Cod sursa (job #1383493) | Cod sursa (job #1395693) | Cod sursa (job #1362890) | Cod sursa (job #828604)
Cod sursa(job #828604)
#include<iostream>
#include<cstdio>
#include<algorithm>
#define maxn 5005
#define maxg 10005
using namespace std;
struct str {int g,v;} a[maxn];
int T[maxn][maxg],n,G,i,s;
int cmp(str a,str b)
{
return (a.g<b.g);
}
int main()
{
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
scanf("%d%d",&n,&G);
for(i=1;i<=n;++i)
scanf("%d%d",&a[i].g,&a[i].v);
sort(a+1,a+n+1,cmp);
for(i=1;i<=n;++i)
for(s=0;s<=G;++s)
if(a[i].g<=s)
T[i][s]=max(T[i-1][s],T[i-1][s-a[i].g]+a[i].v);
else
T[i][s]=T[i-1][s];
printf("%d\n",T[n][G]);
return 0;
}