Problem Description
不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票(记住,只有一张钞票),为了防止自己在战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前.
死亡骑士:"我要买道具!"
地精商人:"我们这里有三种道具,血瓶150块一个,魔法药200块一个,无敌药水350块一个."
死亡骑士:"好的,给我一个血瓶."
说完他掏出那张N元的大钞递给地精商人.
地精商人:"我忘了提醒你了,我们这里没有找客人钱的习惯的,多的钱我们都当小费收了的,嘿嘿."
死亡骑士:"......"
死亡骑士想,与其把钱当小费送个他还不如自己多买一点道具,反正以后都要买的,早点买了放在家里也好,但是要尽量少让他赚小费.
现在死亡骑士希望你能帮他计算一下,最少他要给地精商人多少小费.
Input
输入数据的第一行是一个整数T(1<=T<=100),代表测试数据的数量.然后是T行测试数据,每个测试数据只包含一个正整数N(1<=N<=10000),N代表死亡骑士手中钞票的面值.
注意:地精商店只有题中描述的三种道具.
Output
对于每组测试数据,请你输出死亡骑士最少要浪费多少钱给地精商人作为小费.
Sample Input
Sample Output
0
50
#include
<
stdio.h
>
#include
<
stdlib.h
>
void
main()
{
int
x,y,z,t;
int
i,j,k;
int
tem
=
0
;
int
money
=
0
;
int
twice;
int
index
=
0
;
int
*
p,
*
h;
scanf(
"
%d
"
,
&
twice);
p
=
malloc(
sizeof
(
int
)
*
twice);
h
=
malloc(
sizeof
(
int
)
*
twice);
for
(t
=
0
;t
<
twice;t
++
)
{
scanf(
"
%d
"
,
&
money);
x
=
money
/
150
;
y
=
money
/
200
;
z
=
money
/
350
;
for
(i
=
0
;i
<=
x;i
++
)
for
(j
=
0
;j
<=
y;j
++
)
for
(k
=
0
;k
<=
z;k
++
)
{
if
(
150
*
i
+
200
*
j
+
350
*
k
<=
money)
{
if
(tem
<
150
*
i
+
200
*
j
+
350
*
k)
tem
=
150
*
i
+
200
*
j
+
350
*
k;
}
}
*
(p
+
index)
=
tem;
*
(h
+
index)
=
money;
index
++
;
tem
=
0
;
}
//
printf("%d",money-tem);
for
(i
=
0
;i
<
index;i
++
)
printf(
"
%d\n
"
,
*
(h
+
i)
-*
(p
+
i));
}