Верхняя граница

Дан отсортированный массив из n целых чисел. Необходимо ответить на q запросов. Каждый запрос формулируется так: «Какое первое число, которое больше, чем x, встречается в данном списке?».

Входные данные

Первая строка ввода содержит два целых числа n (2 ≤ n ≤ ) и q (1 ≤ q ≤ ).

Следующая строка содержит n целых чисел, разделённых пробелами: (), расположенных в порядке возрастания.

Последняя строка содержит q запросов ( < ), разделённых пробелами.

Выходные данные

Программа должна вывести q строк, где каждая строка содержит ответ на соответствующий запрос.

Примеры

Входные данные

Выходные данные

6 3 2 7 9 10 20 30 8 20 1

9 30 2

Подсказка

В классической реализации двоичного поиска рассматривается диапазон [l; r), где l включён, а r нет. Иногда полезнее использовать (l; r] — исключая l и включая r. Для этого придётся немного изменить логику вычисления l, r и mid.

Constraints

Time limit: 5 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue