题目描述
对于正整数 1,2,3⋯n 的一个排列 π,若它的一个子串 π[a..b] 排序后是连续正整数,则称 π[a..b] 是一个“区间”。例如对排列 pi=3,1,7,5,6,4,2,子串 π[3..6] 是一个“区间”(因为它包含 4,5,6,7),π[1..3] 则不是。
一个子串的“本征区间”是包含该子串的最短区间。“包含”是指:若 π[x..y] 的本征区间是 π[a..b],则 a≤x≤y≤b。
给定一个排列 π 及其 m 个子串,求每个子串的“本征区间”。
输入格式
第一行一个整数 n(1≤n≤100000)。
第二行 n 个整数,代表排列 π。
第三行一个整数 m(1≤m≤100000)。
此后 m 行,每行两个整数 x,y(1≤x≤y≤n),代表子串 π[x..y]。
输出格式
输出 m 行,每行两个整数 a,b(1≤a≤b≤n),代表子串对应的本征区间 π[a..b]。
7
3 1 7 5 6 4 2
3
3 6
7 7
1 3
3 6
7 7
1 7
10
2 1 4 3 5 6 7 10 8 9
5
2 3
3 7
4 7
4 8
7 8
1 4
3 7
3 7
3 10
7 10