Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
145412 冼俊烨 储钱罐 C++ 通过 100 1 MS 292 KB 889 2024-05-05 08:07:16

Tests(5/5):


#include <cstdio> #include <cmath> #include <iostream> #include <cstring> #include <algorithm> #include <vector> #include <string> #include <utility> #include <queue> #include <stack> const int INF=0x3f3f3f3f; using namespace std; int dp[10001]; int w[501],v[501]; int main() { int t; cin>>t; while(t--) { memset(dp,INF,sizeof(dp)); memset(w,0,sizeof(w)); memset(v,0,sizeof(v)); int m0,m,n; cin>>m0>>m>>n; m-=m0; for(int i=1;i<=n;i++) cin>>v[i]>>w[i]; dp[0]=0; for(int i=1;i<=n;i++) for(int j=w[i];j<=m;j++) if(dp[j-w[i]]!=INF) dp[j]=min(dp[j],dp[j-w[i]]+v[i]); if(dp[m]!=INF) cout<<"The minimum amount of money in the piggy-bank is "<<dp[m]<<'.'<<endl; else cout<<"This is impossible."<<endl; } return 0; }//A


测评信息: