简单完全背包...
#include <stdio.h>
#include <string.h>
#define MAX 10005
int dp[MAX];
int p[4] = {0, 150, 200, 350};
inline int max(int a, int b) {
return a > b ? a : b;
}
int main() {
int T, money;
int i, j;
while (scanf("%d", &T) != EOF) {
while (T--) {
scanf("%d", &money);
for (i = 1; i <= 3; i++) {
for (j = p[i]; j <= money; j++) {
dp[j] = max(dp[j], dp[j - p[i]] + p[i]);
}
}
printf("%d\n", money - dp[money]);
}
}
return 0;
}