[GESP202409 四级] 区间排序

GESP编程共123题,本题是整站第1433题,已经有人完成了本题,加油!

题目描述

小杨有一个包含 n 个正整数的序列 a。

小杨计划对序列进行多次升序排序,每次升序排序小杨会选择一个区间 [l,r](l≤r)并对区间内所有数字,即进行升序 al​,al+1​,…ar​ 排序。每次升序排序会在上一次升序排序的结果上进行。

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

输入格式

第一行包含一个正整数 n,含义如题面所示。
第二行包含 n 个正整数 a1​,a2​,…an​,代表序列 a。
第三行包含一个正整数 q,代表排序次数。
之后 q 行,每行包含两个正整数 l,r,代表将区间 [li​,ri​] 内所有数字进行升序排序。

输出格式

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

输入输出样例

输入 #1

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

输出 #1

1 3 4 5 2

说明/提示

样例 1 解释

数据规模与约定

对于全部的测试数据,保证 1≤n,ai​,q≤100,1≤li​≤ri​≤n。

别灰心,再试一次!

真题解析

【解题思路】

1. 将要排序的数据存储在列表中,初始化定义一个长度为1010的数组,尽可能大的数据,确保在输入规模较大的情况下不会越界

2. 定义排序方法对数据进行排序

3. 处理部分:

4. 存储输入数据

5. 处理需要进行排序的区间操作数q

6. 对选定的l,r区间范围内数据进行排序操作,调用之前定义好的排序方法

7. 输出结果

【参考程序】

本站题目仅供学习,GESP版权归CCF所有,如有侵权请联系删除。站长陈老师QQ及微信:208234。