Туристическое агентство

시간 제한2초메모리 제한1024 MB

요약
각 구간질의 [l, r]마다 같은 유형이 두 번 이상 나오지 않는 가장 긴 부분 배열의 길이를 구한다.
난이도

어려움10점 중 8점

유형
세그먼트 트리, 투 포인터, 정렬, 이분 탐색
정답자
아직 제출이 없습니다

문제

В одном большом городе очень много достопримечательностей и в него регулярно приезжают толпы туристов. Но просто приезжать в город неинтересно, и туристы любят осматривать достопримечательности. Все туристы --- занятые люди и осматривать две достопримечательности одного и того же типа не собираются. Например, никто не пойдёт в два музея, ведь, чтобы сказать, что ты был в музее, достаточно сходить только в один.

Все nn достопримечательностей расположены вдоль главной улицы города. Каждая достопримечальность имеет свой тип --- музей, театр, памятник…\ldots Каждый приезжающий турист заказывает в турагенстве экскурсию. Экскурсия представляет из себя проезд по каким-то достопримечательностям, стоящим подряд. Так как туристы живут в разных частях города, то не всем им удобно добираться до главной улицы. Поэтому, для ii-го туриста есть границы \[l_i;r_i]\[l\_i; r\_i] --- отрезок, в который должны попасть начало и конец экскурсии, ведь ему надо не только приехать на неё, ну и уехать потом домой.

Каждый турист хочет осмотреть как можно больше достопримечательностей, но при этом он не будет смотреть более одной достопримечательности одного типа. Помогите турагенству подобрать каждому туристу подходящую ему экскурсию.

입력

В первой строке входного файла задано число nn (1≤n≤100,0001 \le n \le 100,000) --- количество достопримечательностей в городе. Во второй строке заданы nn целых чисел t_it\_i (1≤t_i≤1091 \le t\_i \le 10^9) --- типы достопримечательностей. В третьей строке задано число mm (1≤m≤100,0001 \le m \le 100,000) --- количество туристов. Далее, в mm строках заданы описания туристов в формате l_ir_il\_i r\_i (1≤l_i≤r_i≤n1 \le l\_i \le r\_i \le n), где l_i,r_il\_i, r\_i --- отрезок, в который должны попасть начало и конец экскурсии для ii-го туриста.

출력

В выходной файл для каждого туриста выведите количество осмотренных им достопримечательностей.

예제1

  1. 예제 1

    입력
    5
    1 1 2 2 1
    5
    1 5
    1 2
    2 3
    3 4
    1 1
    
    예상 출력
    2
    1
    2
    1
    1