Problem
Se te da una matriz ordenada A de n números naturales.
Hay q solicitudes para ser procesadas. Cada consulta recibe dos parámetros: su tipo t
i y el número k
i.
Descripción de las consultas por su tipo:
1) Encuentra en A el número mínimo que no sea menor que k
i.
2) Encuentra el número mínimo en A que es estrictamente mayor que k
i.
3) Encuentra en A el número máximo que no sea mayor que k
i.
4) Encuentra el número máximo en A que es estrictamente menor que k
i.
Para cada consulta, informe el número encontrado, o -1 si no existe ninguno.
Entrada:
La primera línea contiene el número n (1 <= n <= 10
5) - el número de elementos de la matriz A.
La segunda línea contiene n números naturales A
i (1 <= A
i <= 10
9) - los propios elementos de la matriz. Además, para todos i < n hecho A
i <= A
i+1.
La tercera línea contiene el número q (1 <= q <= 10
5) - el número de solicitudes.
Las siguientes q líneas contienen dos números cada una: t
i (1 <= t
i <= 4) y k
i (1 < ;= k
i <= 10
9).
Salida:
Imprima q líneas, i-ésimo número: la respuesta a la i-ésima consulta.
Ejemplos:
Entrada |
Salida |
4
3 5 5 7
4
15
27
3 2
4 4 |
5
-1
-1
3 |