Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
143389 吴悠 分组背包 C++ 通过 100 2 MS 1424 KB 514 2024-04-14 12:10:30

Tests(15/15):


#include<iostream> using namespace std; int w[101][1001],v[101][1001],id[101]; int dp[101][1001]; int main(){ int m,n,a,b,c,cnt=0; cin>>m>>n; for(int i=1;i<=n;i++){ cin>>a>>b>>c; id[c]++; w[c][id[c]]=a; v[c][id[c]]=b; cnt=max(cnt,c); } for(int i=1;i<=cnt;i++){ for(int j=1;j<=m;j++){ dp[i][j]=dp[i-1][j]; for(int k=1;k<=id[i];k++){ if(j-w[i][k]>=0){ dp[i][j]=max(dp[i-1][j-w[i][k]]+v[i][k],dp[i][j]); } } } } cout<<dp[cnt][m]<<endl; return 0; }


测评信息: