고유 구간

순열에서 각 질의 구간을 포함하면서 값이 연속된 정수 집합을 이루는 가장 짧은 부분 배열을 찾는다.

어려움9세그먼트 트리스택누적 합아직 제출이 없습니다시간 제한3초메모리 제한512 MB

문제

11부터 nn까지의 정수로 이루어진 순열 π\pi가 있다. 인덱스 aabb1abn1 \le a \le b \le n을 만족할 때, 연속한 부분 수열 πab=(πa,πa+1,,πb)\pi_{ab} = (\pi_a, \pi_{a+1}, \dots, \pi_b)를 정렬한 결과가 연속한 정수의 나열이면 이 부분 수열을 구간이라고 부른다. 예를 들어 순열 π=(3,1,7,5,6,4,2)\pi = (3, 1, 7, 5, 6, 4, 2)에서 π36\pi_{36}44부터 77까지를 담고 있으므로 구간이지만, π13\pi_{13}은 구간이 아니다.

부분 수열 πxy\pi_{xy}의 고유 구간은 이 부분 수열을 포함하면서(axyba \le x \le y \le b) 길이가 가장 짧은 구간 πab\pi_{ab}이다. 구간의 길이는 원소의 개수다. 이런 구간은 항상 하나뿐이다. 겹치는 두 구간의 교집합도 구간이므로, πxy\pi_{xy}를 포함하는 모든 구간의 교집합이 곧 고유 구간이다.

순열 π\pi와 그 부분 수열 mm개가 주어진다. 각 부분 수열의 고유 구간을 구하라.

입력

첫째 줄에 순열 π\pi의 크기 nn (1n1000001 \le n \le 100000)이 주어진다. 둘째 줄에 서로 다른 정수 π1,π2,,πn\pi_1, \pi_2, \dots, \pi_n (1πjn1 \le \pi_j \le n), 즉 순열 자체가 주어진다.

셋째 줄에 부분 수열의 개수 mm (1m1000001 \le m \le 100000)이 주어진다. 이어지는 mm개 줄 중 jj번째 줄에는 jj번째 부분 수열의 양 끝 인덱스 xjx_jyjy_j (1xjyjn1 \le x_j \le y_j \le n)가 주어진다.

출력

mm개 줄을 출력한다. jj번째 줄에는 부분 수열 πxjyj\pi_{x_j y_j}의 고유 구간의 양 끝 인덱스 aja_jbjb_j (1ajbjn1 \le a_j \le b_j \le n)를 공백으로 구분해 출력한다.