问题1850--QинYу数组3.0

1850: QинYу数组3.0

[命题人 : ]
时间限制 : 1 sec  内存限制 : 128 MB

提交

题目描述

假设你有一个整数v,在一个操作中,你可以:  
 
v = (v + 1) mod32768
或设置v =(2⋅v) mod32768。  
已知n个整数a1 a2…an。 让每个ai都等于0的最小操作数是多少?  

输入

第一行包含单个整数n(1≤n≤32768)-整数的个数。  
 
第二行包含n个整数a1,a2,…,an(0≤ai<32768)。  

输出

打印n个整数。 第i个整数应该等于使ai等于0所需的最小操作次数。  

样例输入 Copy

4
19 32764 10240 49

样例输出 Copy

14 4 4 15 

提示

让我们考虑每个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次。