Problem
On vous donne un tableau ordonné A de n nombres naturels.
Il y a q requêtes à traiter. Chaque requête reçoit deux paramètres - son type t
i et le nombre k
i.
Description des requêtes par leur type :
1) Trouver dans A le nombre minimum qui n'est pas inférieur à k
i.
2) Trouver le nombre minimum dans A strictement supérieur à k
i.
3) Trouver dans A le nombre maximum qui n'est pas supérieur à k
i.
4) Trouver le nombre maximum dans A strictement inférieur à k
i.
Pour chaque requête, indiquez le nombre trouvé, ou -1 s'il n'en existe pas.
Saisie :
La première ligne contient le nombre n (1 <= n <= 10
5) - le nombre d'éléments du tableau A.
La deuxième ligne contient n nombres naturels A
i (1 <= A
i <= 10
9) - les éléments du tableau eux-mêmes. De plus, pour tous je < n fait A
i <= A
i+1.
La troisième ligne contient le nombre q (1 <= q <= 10
5) - le nombre de requêtes.
Les q lignes suivantes contiennent chacune deux nombres - t
i (1 <= t
i <= 4) et k
i (1 < ;= k
i <= 10
9).
Sortie :
Imprimer q lignes, i-ème un nombre - la réponse à la i-ème requête.
Exemples :
Entrée |
Sortie |
4
3 5 5 7
4
15
27
3 2
4 4 |
5
-1
-1
3 |