【算法分析】
典型的01背包问题
【参考代码】
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int f[12900];
int n,m,w,c;
int main()
{
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++){
scanf("%d %d",&w,&c);
for(int j=m;j>=w;j--)
f[j]=max(f[j],f[j-w]+c);
}
printf("%d\n",f[m]);
return 0;
}