마법의 구간

각 쿼리마다 구간 [L,R] 안에서 모든 원소가 첫 값과 마지막 값 사이에 들어가는 가장 긴 부분배열 길이를 구합니다.

어려움9분할 정복세그먼트 트리스택아직 제출이 없습니다시간 제한4초메모리 제한128 MB

문제

루카가 마녀 마리차의 집에 들어서자, 마리차는 자기가 가진 NN개의 수로 이루어진 배열 AA를 두고 질문을 던지기 시작한다. 질문 하나는 두 정수 LLRR로 이루어지고, 배열에서 ALA_L부터 ARA_R까지 이어지는 구간을 가리킨다.

루카는 질문마다 그 구간 안에 들어 있는 연속한 구간 중 마법 구간인 것의 최대 길이를 답해야 한다. 구간 전체를 골라도 된다.

구간에 들어 있는 모든 값이 첫 번째 값과 마지막 값 사이에 있으면 그 구간은 마법 구간이다. 즉 Al,Al+1,,ArA_l, A_{l+1}, \dots, A_r가 마법 구간이라는 것은 lkrl \le k \le r인 모든 kk에 대해 min(Al,Ar)Akmax(Al,Ar)\min(A_l, A_r) \le A_k \le \max(A_l, A_r)가 성립한다는 뜻이다.

예를 들어 [1,3,1,2,4][1, 3, 1, 2, 4][4,1,1,2,1][4, 1, 1, 2, 1]은 마법 구간이지만 [3,3,4,1][3, 3, 4, 1]은 마법 구간이 아니다. 길이가 1인 구간은 언제나 마법 구간이므로 답은 항상 1 이상이다.

입력

첫째 줄에 배열의 길이 NN이 주어진다. (1N5000001 \le N \le 500\,000)

둘째 줄에 배열의 원소 A1,A2,,ANA_1, A_2, \dots, A_N이 공백으로 구분되어 주어진다. (1Ai1091 \le A_i \le 10^9)

셋째 줄에 질문의 개수 QQ가 주어진다. (1Q5000001 \le Q \le 500\,000)

이어지는 QQ개의 줄에 질문의 두 정수 LLRR가 순서대로 주어진다. (1LRN1 \le L \le R \le N)

출력

ii번째 줄에 ii번째 질문의 답을 정수 하나로 출력한다.