1 条题解

  • 1
    @ 2023-8-22 21:27:41

    #include<bits/stdc++.h> using namespace std; int w[105],val[105]; int dp[105][1005]; int main(){ int t,m,res=-1; cin>>t>>m; for(int i=1;i<=m;i++){ cin>>w[i]>>val[i]; } for(int i=1;i<=m;i++) for(int j=t;j>=0;j--) { if(j>=w[i]){ dp[i][j]=max(dp[i-1][j-w[i]]+val[i],dp[i-1][j]); } else{ dp[i][j]=dp[i-1][j]; } } printf("%d",dp[m][t]); return 0; }

    • 1

    信息

    ID
    634
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    57
    已通过
    46
    上传者