1850: QинYу数组3.0
[Creator : ]
Description
假设你有一个整数v,在一个操作中,你可以:
v = (v + 1) mod32768
或设置v =(2⋅v) mod32768。
已知n个整数a1 a2…an。 让每个ai都等于0的最小操作数是多少?
v = (v + 1) mod32768
或设置v =(2⋅v) mod32768。
已知n个整数a1 a2…an。 让每个ai都等于0的最小操作数是多少?
Input
第一行包含单个整数n(1≤n≤32768)-整数的个数。
第二行包含n个整数a1,a2,…,an(0≤ai<32768)。
第二行包含n个整数a1,a2,…,an(0≤ai<32768)。
Output
打印n个整数。 第i个整数应该等于使ai等于0所需的最小操作次数。
Sample Input Copy
4
19 32764 10240 49
Sample Output Copy
14 4 4 15
HINT
让我们考虑每个ai:
a1 = 19。 你可以,首先,增加1得到20,然后乘以2 13次。 你将在1+13=14步中得到0。
a2 = 32764。 可以加1 4次:32764→32765→32766→32767→0。
a3 = 10240。 你可以把它乘以4倍:10240→20480→8192→16384→0。
a4 = 49。 你可以把它乘以2 15次。