EduBrick

Сколько различных на отрезке

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

Дан массив. Для каждого запроса [l,r][l, r] выведите количество различных значений на этом отрезке. Массив не меняется, все запросы известны заранее.

Первая задача, где дерево работает не онлайн, а вместе с сортировкой запросов.

Формат ввода

В первой строке nn (1≤n≤1051 \le n \le 10^5). Во второй — nn чисел aia_i (1≤ai≤1091 \le a_i \le 10^9). В третьей — mm (1≤m≤1051 \le m \le 10^5). Далее mm строк по два числа ll и rr (1≤l≤r≤n1 \le l \le r \le n).

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

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

Примеры

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