Pagini recente » Cod sursa (job #428418) | Cod sursa (job #3031421) | Cod sursa (job #1057355) | Cod sursa (job #2811128) | Cod sursa (job #1686450)
#include <bits/stdc++.h>
using namespace std;
int ans[10005]={-1};
int main(void){
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
memset(ans,-1,sizeof(ans));
int n,g,l,r,p,w;
ans[0]=0;
l=0;
r=0;
scanf("%d%d",&n,&g);
for(int i=0; i<n; ++i){
scanf("%d%d",&w,&p);
for(int j=l; j>=0; --j){
if(ans[j]==-1)
continue;
if(j+w<=g){
ans[j+w]=max(ans[j+w], ans[j]+p);
l=max(l, j+w);
}
}
}
for(int i=0; i<=g; ++i)
r=max(r,ans[i]);
printf("%d",r);
return 0;
}