#G424092. [GESP202409 四级 C++] 26. 区间排序

提交6 通过4
通过率66.7%
时间限制1000ms
内存限制512MiB

题目描述

题目描述

小杨有一个包含 nn 个正整数的序列 aa

小杨计划对序列进行多次升序排序,每次升序排序小杨会选择一个区间 [l,r][l,r]lrl \leq r)并对区间内所有数字,即进行升序 al,al+1,ara_l, a_{l + 1}, \dots a_r 排序。每次升序排序会在上一次升序排序的结果上进行。

小杨想请你计算出多次升序排序后的序列。

输入格式

第一行包含一个正整数 nn,含义如题面所示。

第二行包含 nn 个正整数 a1,a2,ana_1, a_2, \dots a_n,代表序列 aa

第三行包含一个正整数 qq,代表排序次数。

之后 qq 行,每行包含两个正整数 l,rl, r,代表将区间 [li,ri][l_i, r_i] 内所有数字进行升序排序。

输出格式

输出一行包含 nn 个正整数,代表多次升序排序后的序列。

输入样例 #1

5
3 4 5 2 1
3
4 5
3 4
1 3

输出样例 #1

1 3 4 5 2

输入样例 #2

1
50
1
1 1

输出样例 #2

50

输入样例 #3

10
12 7 18 17 15 6 2 16 8 19
5
7 9
3 5
10 10
3 10
9 9

输出样例 #3

12 7 2 6 8 15 16 17 18 19

数据范围

小杨计划对序列进行多次升序排序,每次升序排序小杨会选择一个区间 [l,r][l,r]lrl \leq r)并对区间内所有数字,即进行升序 al,al+1,ara_l, a_{l + 1}, \dots a_r 排序。