输入: 1000 5 800 2 400 5 300 5 400 3 200 2 输出: 5500(正确:3900) (代码就放个动规) for(int i=w[i];i<=m;i++)dp[i]=v[0]; for(int i=1;i<n;i++) for(int j=m;j>=1;j--) if(w[i]<=j)dp[j]=max(dp[j],dp[j-w[i]]+v[i]); 这过了???样例都没对???