完全背包
#include<stdio.h> #include<string.h> int dp[10000]; int main() { int i,j,n,m,p,a[3]={150,200,350},t; scanf("%d",&t); while(t--) { scanf("%d",&n); memset(dp,0,sizeof(dp)); for(i=0;i<3;i++) { for(p=a[i];p<=n;p++) { if(dp[p]<dp[p-a[i]]+a[i]) dp[p]=dp[p-a[i]]+a[i]; } } printf("%d\n",n-dp[n]); } return 0; }