#include<stdio.h>
struct apple{
int m;
int v;
}app[1010];
int money(int i,int v);
int main(){
int n,v;
int x,y,z;
while((scanf("%d%d",&n,&v))&&(n||v)){
for(x=0;x<n;x++){
scanf("%d %d",&app[x].v,&app[x].m);
}
printf("%d\n",money(n-1,v));
}
return 0;
}
int money(int i,int v){
if((i<0)||(v<0))return 0;
int a=money(i-1,v);
int b=money(i-1,v-app[i].v)+app[i].m;
return (a>b)?a:b;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。