EduBrick

I. Мода на отрезке

3000 мс · 256 МБ · всё или ничего

Для каждого запроса (l,r)(l, r) нужно назвать самое частое значение на отрезке, а при равенстве частот — наименьшее из таких значений.

Каркас — из классной задачи H: предподсчёт ответа для всех пар блоков и достройка двумя хвостами. Но там спрашивали только частоту, а здесь ещё и значение, и это добавляет одну трудность.

Формат ввода

В первой строке nn и qq (1≤n,q≤1051 \le n, q \le 10^5). Во второй строке nn чисел aia_i (1≤ai≤1091 \le a_i \le 10^9). В следующих qq строках по два числа ll и rr (1≤l≤r≤n1 \le l \le r \le n).

Формат вывода

Для каждого запроса выведите самое частое значение на отрезке, а при равенстве частот — наименьшее из них.

Примеры

ввод
8 4
3 1 1 2 2 3 3 1
1 8
2 5
4 6
1 4
вывод
1
1
2
1
ввод
1 2
1000000000
1 1
1 1
вывод
1000000000
1000000000
Разбор идеи от автора задачи. Сначала попробуйте сами.
Войдите, чтобы отправлять решения.