XOR máximo con un elemento acotado

Tiempo límite 3 s
Memoria límite 256 MB
Casos de prueba 7
Dificultad Difícil Algoritmos
Mostrar (3) Manipulación de bitsOrdenamientoTrie
Enviar solución

Puntos: 20

Tipos de problema
Lenguajes permitidos
C, C++, Java, Python, Rust

Dado un arreglo de \(n\) enteros no negativos, responde \(q\) consultas \((x, m)\): el mayor valor de \(x \oplus a_i\) (XOR bit a bit) entre los elementos \(a_i \le m\), o \(-1\) si ningún elemento cumple \(a_i \le m\).

Entrada

La primera línea tiene \(n\) y \(q\) \((1 \le n, q \le 10^5)\). La segunda tiene el arreglo. Siguen \(q\) líneas con \(x\) y \(m\). Todos los valores están entre \(0\) y \(10^9\).

Salida

Para cada consulta, una línea con la respuesta.

Ejemplo 1

Entrada

5 3
0 1 2 3 4
3 1
1 3
5 6

Salida

3
3
7

Ejemplo 2

Entrada

5 3
5 2 4 6 6
12 4
8 1
6 3

Salida

14
-1
4

Comentarios

No hay comentarios por el momento.