Pagini recente » Cod sursa (job #1691667) | Istoria paginii planificare/sedinta-20080218 | Cod sursa (job #2872129) | Cod sursa (job #3247450) | Cod sursa (job #1122674)
#include <cstdio>
#define mx 5002
#define mg 10001
using namespace std;
int g,i,j,k,sum,l,n,t[mx],p[mx],v[mg];
int maxim(int a, int b)
{return a > b ? a : b;}
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",&t[i],&p[i]);
for(i=1;i<=n;i++)
for(j=g;j>=t[i];j--){
v[j]=maxim(v[j],v[j-t[i]]+p[i]);
if (v[j]>sum) sum=v[j];
}
printf("%d",sum);
return 0;
}