1 条题解

  • -2
    @ 2025-4-8 13:44:35
    #include<bits/stdc++.h>
    using namespace std;
    int main() {
        int n,w;
        cin>>n>>w;
        int*c=new int[n+1];
        int*v=new int[n+1];
        for(int i=1;i<=n;i++) 
            cin>>c[i];
        for(int i=1;i<=n;i++) 
            cin>>v[i];
        int*dp=new int[w+1];
        memset(dp,0,sizeof(int)*(w+1));
        for(int i=1;i<=n;i++) 
            for(int j=v[i];j<=w;j++) 
                dp[j]=max(dp[j],dp[j-v[i]]+c[i]);
        cout<<dp[w];
        return 0;
    }
    
  • 1

信息

ID
518
时间
5000ms
内存
256MiB
难度
10
标签
递交数
4
已通过
3
上传者