提交时间:2020-11-07 22:01:32

运行 ID: 9068

#include<bits/stdc++.h> using namespace std; int m=10,n=4,maxv=0,w[50],v[50],f[201]; int main(){ cin>>m>>n; for(int i=1;i<=n;i++){ cin>>w[i]>>v[i]; } for(int i=1;i<=n;i++){ // 这里要逆序推导 for(int j=m;j>=w[i];j--){ f[j]=max(f[j],f[j-w[i]]+v[i]); } } cout<<f[m]; return 0; }