裸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 }