UOJ Logo

NOI.AC

1S 512MB

#1300. 奋斗的小强

Statistics

在一条直线上,小强初始在坐标$0$位置。每次他可以选择如下三种操作中的一种:

向左一个位置,即从位置$x$移动到位置$x-1$ 向右一个位置,即从位置$x$移动到位置$x+1$ 位置倍增,即从位置$x$移动到位置$x*2$

现在有$Q$次询问$q[i]$,对于每次询问,小强想知道他每次从位置$$0$$出发,到达位置$q[i]$最少需要多少次操作?

数据输入

第一行一个$Q$,表示询问次数。

第二行$Q$个整数$q[i]$,表示每次询问的目标位置。

数据输出

对于每个询问,输出一行一个整数,表示到达的目标位置的最少操作次数。如果无法到达,输出$-1$。

样例输入1

4
0
-1
2
4

样例输出1

0
1
2
3

范围说明

对于$20\%$的数据有:$1 \leq Q \leq 10, 0 \leq q[i] \leq 10$。

对于$50\%$的数据有:$1 \leq Q \leq 1000, 0 \leq q[i] \leq 1000$。

对于$100\%$的数据有:$1 \leq Q \leq 10^5, -10^6 \leq q[i] \leq 10^6$。