完全背包
#include<cstdio> #include<cstring> #include<cmath> #include<algorithm> using namespace std; int dp[10010]; int main() { int i; memset(dp,0,sizeof(dp)); dp[0]=1; for(i=0;i<=10000;i++) if(dp[i]) dp[i+150]=1; for(i=0;i<=10000;i++) if(dp[i]) dp[i+200]=1; for(i=0;i<=10000;i++) if(dp[i]) dp[i+350]=1; int T; scanf("%d",&T); while(T--) { int n; scanf("%d",&n); for(i=n;i>=0;i--) { if(dp[i]) { printf("%d ",n-i); break; } } } return 0; }