Problem1850--QинYу数组3.0

1850: QинYу数组3.0

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

Description

假设你有一个整数v,在一个操作中,你可以:  
 
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)。  

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次。  

Source/Category

admin