题目:http://acm.hdu.edu.cn/showproblem.php?pid=1248
思路:完全背包模板
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=10010;
int dp[maxn];
int main()
{
int a[3],t;
a[0]=150;a[1]=200;a[2]=350;
scanf("%d",&t);
while(t--)
{
int m;
scanf("%d",&m);
memset(dp,0,sizeof(dp));
for(int i=0;i<3;i++)
{
for(int j=a[i];j<=m;j++)
dp[j]=max(dp[j],dp[j-a[i]]+a[i]);
}
printf("%d\n",m-dp[m]);
}
}