Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
147301 | 陈志恒 | 训练赛 | C++ | 通过 | 100 | 0 MS | 516 KB | 487 | 2024-05-18 14:34:43 |
#include<bits/stdc++.h> using namespace std; long long n,T,V,dp[105][105][105],v[1005],t[1005],g[1005]; int main(){ cin>>T>>V>>n; for(int i=1;i<=n;i++){ cin>>g[i]>>t[i]>>v[i]; } for(int i=1;i<=n;i++){ for(int j=0;j<=T;j++){ for(int k=0;k<=V;k++){ // cout<<dp[i][j][k]<<endl; if(j>=t[i]&&k>=v[i]){ dp[i][j][k]=max(dp[i-1][j][k],dp[i-1][j-t[i]][k-v[i]]+g[i]); } else dp[i][j][k]=dp[i-1][j][k]; } } // cout<<1; }cout<<dp[n][T][V]; }