HDU1114-Piggy-Bank
http://acm.hdu.edu.cn/showproblem.php?pid=1114
#include<cstdio> #include<cstring> #include<algorithm> #define INF 1000000000 using namespace std; int dp[20000],P[1000],W[1000],E,F,N,M; int main(void) { int T,i,j; scanf("%d",&T); while(T--) { scanf("%d%d",&E,&F); M=F-E; scanf("%d",&N); for(i=0;i<N;i++) scanf("%d%d",&P[i],&W[i]); dp[0]=0; for(i=1;i<=M;i++) dp[i]=INF; for(i=0;i<N;i++) for(j=W[i];j<=M;j++) dp[j]=min(dp[j-W[i]]+P[i],dp[j]); if(dp[M]<INF) printf("The minimum amount of money in the piggy-bank is %d.\n",dp[M]); else printf("This is impossible.\n"); } return 0; }