2 条题解

  • 1
    @ 2026-5-17 16:13:02

    #include<bits/stdc++.h>

    using namespace std;

    int n,m,w[35],c[35];

    int dp[200];

    signed main(){

    cin>>n>>m;

    for(int i=1;i<=m;i++)

    {

    cin>>w[i]>>c[i];
    

    }

    for(int i=1;i<=m;i++)

    {

    for(int j=w[i];j<=n;j++){
    
    	dp[j]=max(dp[j],dp[j-w[i]]+c[i]);
    
    
    }//cout<<endl;
    

    }

    cout<<"max="<<dp[n];

    }

    • 1
      @ 2026-5-17 16:12:34

      #include<bits/stdc++.h> using namespace std; int n,m,w[35],c[35]; int dp[200]; signed main(){ cin>>n>>m; for(int i=1;i<=m;i++) { cin>>w[i]>>c[i]; } for(int i=1;i<=m;i++) { for(int j=w[i];j<=n;j++){ dp[j]=max(dp[j],dp[j-w[i]]+c[i]);

      }//cout<<endl;
      

      } cout<<"max="<<dp[n]; }

      • 1

      信息

      ID
      1950
      时间
      1000ms
      内存
      128MiB
      难度
      10
      标签
      递交数
      7
      已通过
      4
      上传者