代碼如下:
#include#include int dp[10000]; int max(int a,int b) {return a>b?a:b;} int main() { int w[4]; int i,j,t,n; scanf("%d",&t); w[0]=150,w[2]=200,w[3]=350; while(t--) { scanf("%d",&n); memset(dp,0,sizeof(dp)); for(i=0;i<4;i++) for(j=w[i];j<=n;j++) dp[j]=max(dp[j],dp[j-w[i]]+w[i]); printf("%d\n",n-dp[n]); } return 0; }