1 条题解

  • 0
    @ 2023-8-30 23:54:01
    #include<bits/stdc++.h>
    using namespace std;
    int v,n,t;
    int x;
    int g[205][205];
    int i,j,k;
    int w[10001],z[10001];
    int b[10001];
    int dp[10001];
    int main(){
        cin>>v>>n;
        for(i=1;i<=n;i++){
            cin>>w[i]>>z[i]>>x;
            t=max(t,x);
            b[x]++;
            g[x][b[x]]=i;
        }
        for(i=1;i<=t;i++){
            for(j=v;j>=0;j--){
                for(k=1;k<=b[i];k++){
                    if(j>=w[g[i][k]]){
                        dp[j]=max(dp[j],dp[j-w[g[i][k]]]+z[g[i][k]]);
                    }
                }
            }
        }
        cout<<dp[v];
        return 0;
    }
    
    • 1

    信息

    ID
    728
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    16
    已通过
    9
    上传者