神奇,为什么第二点错了?

P1048 [NOIP2005 普及组] 采药

``` #include<bits/stdc++.h> using namespace std; const int N = 110; int w[N],val[N],dp[N][N*10]; int main() { int n,m,res=-1e9; cin>>n>>m; for(int i=1;i<=m;i++)cin>>w[i]>>val[i]; for(int i=1;i<=m;i++) for(int j=n;j>=0;j--) dp[i][j]=(j>=w[i]?max(dp[i-1][j-w[i]]+val[i],dp[i-1][j]):dp[i-1][j]); cout<<dp[m][n]<<endl; return 0; } ```
by Skyboys @ 2023-07-27 16:51:23


|