Жизнь программистов
시간 제한2초메모리 제한2048 MB
길이 n인 순열을 k개의 연속한 블록으로 나누어 각 블록 최댓값으로 이루어진 수열을 사전순으로 최소화하고, i번째 값을 묻는 q개의 질의에 답한다.
문제
Новый сериал про жизнь программистов содержит серий, пронумерованных от до . Телекомпания Сириус ТВ планирует показывать серии по очереди от первой до последней в течение дней, каждый день показывая блок из одной или нескольких подряд идущих серий. Каждая серия будет показана ровно один раз.
По результатам тестовых просмотров маркетологи компании составили рейтинг серий: -й серии сопоставлено число от до , самая интересная серия получила рейтинг , а самая скучная --- рейтинг . Рейтинги различных серий различны, поэтому числа образуют перестановку.
Пусть принято решение о том, в какой день какие серии будут показаны. Для каждого дня определим рейтинг этого дня, равный рейтингу самой скучной серии этого дня. Иначе говоря, пусть в -й день показываются серии с по , тогда рейтинг этого дня равен максимальному значению среди .
Чтобы показ сериала был удачным, необходимо вовлечь зрителей в просмотр. Среди всех возможных способов разбить серии на блоков по дням необходимо выбрать тот, в котором рейтинг первого дня как можно лучше: минимально. Среди этих способов в свою очередь необходимо минимизировать рейтинг второго дня , при выбранных значениях и --- минимизировать , и так далее. Таким образом, необходимо разбить показ серий на блоков таким образом, чтобы лексикографически минимизировать последовательность .
Вам необходимо ответить на запросов, каждый из которых задаётся двумя числами: и . В качестве ответа на запрос необходимо вывести значение --- рейтинг -го дня для оптимального способа показать сериал за дней.
입력
В первой строке входных данных содержится два целых числа и () --- количество серий и количество запросов соответственно.
Во второй строке входных данных содержатся целых чисел () --- рейтинги серий. Гарантируется, что массив является перестановкой целых чисел от до .
Следующие строк содержат по два целых числа и () --- параметры очередного запроса.
출력
В строках выведите ответ на каждый запрос, в том порядке, в котором они даны во входных данных.
힌트
Рассмотрим первый тест:
- При существует единственный способ показа: каждый день показывать по одной серии. Рейтинги серий по дням получаются , откуда , поэтому ответ на запрос и равен .
- При существует единственный способ показа: показать все серии в первый день. Рейтинги серий по дням: , откуда , поэтому ответ на запрос и равен .
- При оптимально в первый день показать четыре серии, а затем три дня показывать по одной серии. Рейтинги серий по дням: , откуда , поэтому ответ на запрос и равен .
- При оптимально в первый и последний день показать по две серии, а в остальные дни по одной. Рейтинги серий по дням: , откуда , поэтому ответ на запрос и равен .