Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
145454 | I am BM | 储钱罐 | C++ | 通过 | 100 | 1 MS | 260 KB | 527 | 2024-05-05 08:57:59 |
#include<bits/stdc++.h> using namespace std; int dp[10005],E,F,T,W,N,v[505],w[505]; int main() { cin>>T; for (int k=1;k<=T;k++) { cin>>E>>F>>N; W=F-E; for (int i=0;i<N;i++) cin>>v[i]>>w[i]; dp[0]=0; for (int i=1;i<=W;i++) dp[i]=1e9; for (int i=0;i<N;i++) { for (int j=w[i];j<=W;j++) { dp[j]=min(dp[j],dp[j-w[i]]+v[i]); } } if (dp[W]<1e9) cout<<"The minimum amount of money in the piggy-bank is "<<dp[W]<<".\n"; else cout<<"This is impossible.\n"; } return 0; }