CF1621I Two Sequences
Description
Consider an array of integers $ C = [c_1, c_2, \ldots, c_n] $ of length $ n $ . Let's build the sequence of arrays $ D_0, D_1, D_2, \ldots, D_{n} $ of length $ n+1 $ in the following way:
- The first element of this sequence will be equals $ C $ : $ D_0 = C $ .
- For each $ 1 \leq i \leq n $ array $ D_i $ will be constructed from $ D_{i-1} $ in the following way:
- Let's find the lexicographically smallest subarray of $ D_{i-1} $ of length $ i $ . Then, the first $ n-i $ elements of $ D_i $ will be equals to the corresponding $ n-i $ elements of array $ D_{i-1} $ and the last $ i $ elements of $ D_i $ will be equals to the corresponding elements of the found subarray of length $ i $ .
Array $ x $ is subarray of array $ y $ , if $ x $ can be obtained by deletion of several (possibly, zero or all) elements from the beginning of $ y $ and several (possibly, zero or all) elements from the end of $ y $ .
For array $ C $ let's denote array $ D_n $ as $ op(C) $ .
Alice has an array of integers $ A = [a_1, a_2, \ldots, a_n] $ of length $ n $ . She will build the sequence of arrays $ B_0, B_1, \ldots, B_n $ of length $ n+1 $ in the following way:
- The first element of this sequence will be equals $ A $ : $ B_0 = A $ .
- For each $ 1 \leq i \leq n $ array $ B_i $ will be equals $ op(B_{i-1}) $ , where $ op $ is the transformation described above.
She will ask you $ q $ queries about elements of sequence of arrays $ B_0, B_1, \ldots, B_n $ . Each query consists of two integers $ i $ and $ j $ , and the answer to this query is the value of the $ j $ -th element of array $ B_i $ .
Input Format
The first line contains the single integer $ n $ ( $ 1 \leq n \leq 10^5 $ ) — the length of array $ A $ .
The second line contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 1 \leq a_i \leq n $ ) — the array $ A $ .
The third line contains the single integer $ q $ ( $ 1 \leq q \leq 10^6 $ ) — the number of queries.
Each of the next $ q $ lines contains two integers $ i $ , $ j $ ( $ 1 \leq i, j \leq n $ ) — parameters of queries.
Output Format
Output $ q $ integers: values of $ B_{i, j} $ for required $ i $ , $ j $ .
Explanation/Hint
In the first test case $ B_0 = A = [2, 1, 3, 1] $ .
$ B_1 $ is constructed in the following way:
- Initially, $ D_0 = [2, 1, 3, 1] $ .
- For $ i=1 $ the lexicographically smallest subarray of $ D_0 $ of length $ 1 $ is $ [1] $ , so $ D_1 $ will be $ [2, 1, 3, 1] $ .
- For $ i=2 $ the lexicographically smallest subarray of $ D_1 $ of length $ 2 $ is $ [1, 3] $ , so $ D_2 $ will be $ [2, 1, 1, 3] $ .
- For $ i=3 $ the lexicographically smallest subarray of $ D_2 $ of length $ 3 $ is $ [1, 1, 3] $ , so $ D_3 $ will be $ [2, 1, 1, 3] $ .
- For $ i=4 $ the lexicographically smallest subarray of $ D_3 $ of length $ 4 $ is $ [2, 1, 1, 3] $ , so $ D_4 $ will be $ [2, 1, 1, 3] $ .
- So, $ B_1 = op(B_0) = op([2, 1, 3, 1]) = [2, 1, 1, 3] $ .