不解释
View Code
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; bool dp[10003]; int main() { int cas, m,a[4]={0,150,200,350}; int i, j; scanf("%d",&cas); while(cas--) { scanf("%d",&m); memset(dp,0,sizeof(dp)); dp[0]=1; for(i=1;i<=3;i++) { for(j=a[i];j<=m;j++) if(dp[j-a[i]])dp[j]=1; } for(i=m;i>=0;i--) if(dp[i])break; printf("%d\n",m-i); } return 0; }