Pagini recente » Statistici Cristian Talau (cristitalau) | Cod sursa (job #706789) | Cod sursa (job #2014867) | Cod sursa (job #1285303) | Cod sursa (job #1552798)
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
int d[10005];
int main(void){
freopen("rucsac.in","r",stdin);
freopen("rucsac.out","w",stdout);
int n,p,g,G,dr,r=0;
scanf("%d%d",&n,&G);
memset(d,0xFF,sizeof(d)-1);
d[0]=0;
dr=0;
for(int i=0; i<n; ++i){
scanf("%d%d",&g,&p);
for(int j=dr;j>=0;--j){
if(j+g<=G)
if(d[j]!=-1){
d[j+g]=max(d[j+g],d[j]+p);
dr=max(dr,j+g);
}
}
}
for(int i=1; i<=G; ++i)
r=max(d[i],r);
printf("%d",r);
return 0;
}