01背包一维模板题
#include<iostream>
#define Max(a,b) ((a)>(b)?(a):(b))
using namespace std;
const int V=12881;
const int N=3403;
int w[N]={0},c[N]={0};
int dp[V];
int main()
{
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>w[i]>>c[i];
for(int i=1;i<=n;i++)
{
for(int j=m;j>=w[i];j--)
dp[j]=max(dp[j],dp[j-w[i]]+c[i]);
}
cout<<dp[m]<<endl;
}