Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
153484 陈家宝 收服精灵 C++ 解答错误 0 0 MS 332 KB 466 2024-07-03 13:34:34

Tests(0/5):


#include<bits/stdc++.h> using namespace std; int M,K,n,Max=-1,dp[1050][700],m[1050],k[1050]; int main(){ scanf("%d%d%d",&M,&K,&n); for(int i=1;i<=n;i++)scanf("%d%d",&m[i],&k[i]); for(int i=1;i<=n;i++)for(int j=M;j>=m[i];j--)for(int p=K;p>=k[i];p--)dp[j][p]=max(dp[j][p],dp[j-m[i]][p-k[i]]+1); int Ans=K; for(int i=0;i<=K;i++) if(dp[M][i]>Max){ Max=dp[M][i]; Ans=K-i; } printf("%d%d",Max,Ans); return 0; }


测评信息: