Sistema distribuido


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C++

Una empresa administra un enorme sistema distribuido formado por servidores identificados con enteros positivos. Algunos servidores pueden comunicarse directamente entre sí mediante conexiones bidireccionales.

La red se construye siguiendo una regla: cada servidor n está conectado con el servidor n + \text{lowbit}(n), donde \text{lowbit}(n) se obtiene conservando únicamente el bit 1 menos significativo de la representación binaria de n (una forma de calcularlo mediante operaciones de bits es lowbit(n) = n & -n, donde el operador \& corresponde a la operación AND bit a bit).

La empresa necesita enviar información entre distintos servidores de su sistema distribuido. Dados dos servidores x y y, determina el menor número de conexiones que debe atravesar la información para llegar desde x hasta y.

Si no existe ninguna forma de enviar la información entre ambos servidores, imprime -1.

Entrada

Cada archivo de entrada contiene múltiples casos de prueba. La primera línea contiene el número de casos de prueba t (1 \le t \le 3 \cdot 10^5). A continuación, se presenta la descripción de cada caso de prueba.

La primera línea de cada caso de prueba contiene dos enteros x y y (1 \le x, y \le 2^{60}) - que representan los servidores de origen y destino, respectivamente. Se desea enviar información desde el servidor x hasta el servidor y.

Salida

Para cada caso de prueba, imprime una línea con el menor número de conexiones que debe atravesar la información para ser enviada desde el servidor x hasta el servidor y.

Si no existe ninguna forma de enviar la información entre ambos servidores, imprime -1.

Subtareas

Esta tarea está compuesta por 4 subtareas.

Los puntos de una subtarea se otorgan solo si se aceptan todos los casos de esa subtarea.

Subtarea Puntos Restricciones adicionales Dependencias
1 18 1 \le t \le 10, 1 \le x, y \le 2^3. -
2 13 1 \le t \le 500, 1 \le x, y \le 2^9. 1
3 34 1 \le t \le 10^5, 1 \le x, y \le 2^{20}. 1, 2
4 35 Sin restricciones adicionales. 1, 2, 3

Ejemplos

Entrada 1

5
1 3
4 1
2 4
9 3
1 2
Salida 1

3
2
1
6
1

Comments

There are no comments at the moment.