裸01背包
1 #include<iostream>
2 #include<algorithm>
3 #include<cstring>
4 using namespace std;
5 int v[3405];
6 int w[3405];
7 int f[13000];
8 int main()
9 {
10 int n,m;
11 cin>>n>>m;
12 for(int i=1;i<=n;i++)
13 {
14 cin>>w[i]>>v[i];
15 }
16 memset(f,0,sizeof(f));
17 for(int i=1;i<=n;i++)
18 {
19 for(int j=m;j>=w[i];j--)
20 {
21 f[j]=max(f[j],f[j-w[i]]+v[i]);
22 }
23 }
24 int res=0;
25 for(int i=1;i<=m;i++)
26 {
27 res=max(res,f[i]);
28 }
29 cout<<res<<endl;
30 return 0;
31 }