提交时间:2024-05-05 09:09:35
运行 ID: 145465
#include<bits/stdc++.h> using namespace std; int p[10005],w[10005],dp[10005]; int main() { int t,e,f,n; cin>>t; for(int i=1;i<=t;i++) { cin>>e>>f>>n; int v=f-e; for(int j=1;j<=n;j++)cin>>p[i]>>w[i]; dp[0]=0; for(int j=1;j<=v;j++)dp[i]=1E9; for(int j=1;j<=n;j++) { for(int k=w[j];k<=v;k++) { dp[k]=min(dp[k],dp[k-w[j]]+p[j]); } } if(dp[v]<1E9)printf("The minimum amount of money in the piggy-bank is %d.\n",dp[v]); else cout<<"This is impossible."<<endl; } return 0; }