Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
147654 | 刘语晗 | 收服精灵 | C++ | 运行出错 | 0 | 2032 MS | 348 KB | 444 | 2024-05-18 17:15:05 |
#include<bits/stdc++.h> using namespace std; int M,K,n,Max=-1; int dp[1050][700],m[1050],k[1050]; int main() { cin>>M>>K>>n; for(int i=1;i<=n;i++) cin>>m[i]>>k[i]; for(int i=1;i<=n;i++) for(int j=M;i>=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; } cout<<Max<<Ans<<endl; return 0; }