#include<stdio.h>
#define Max 20000
int main(){
int a[Max]={0},w,v,M,N,i,j;
scanf("%d%d",&M,&N);
for(i=1;i<=M;i++) {
scanf("%d%d",&w,&v);
for(j=N;j>=w;j--)
if(a[j-w]+v>a[j])
a[j]=a[j-w]+v;
}
printf("%d\n",a[N]);
return 0;
}
打死我都没想到这道题后来成了大二期末考试原题。