Loading [MathJax]/jax/output/HTML-CSS/jax.js
编程题
                双向排序

题目描述

给定序列 (a1,a2,···,an)=(1,2,···,n),即 ai=i

小蓝将对这个序列进行 m 次操作,每次可能是将 a1,a2,,aqi 降序排列,或者将 aqi,aqi+1,,an 升序排列。

请求出操作完成后的序列。

输入描述

输入的第一行包含两个整数 n,m​,分别表示序列的长度和操作次数。

接下来 m​ 行描述对序列的操作,其中第 i 行包含两个整数 pi,qi​ 表示操作类型和参数。当 pi=0​​ 时,表示将 a1,a2,···,aqi​​ 降序排列;当 pi=1​ 时,表示将 aqi,aqi+1,,an​ 升序排列。

输出描述

输出一行,包含 n 个整数,相邻的整数之间使用一个空格分隔,表示操作完成后的序列。

输入输出样例

示例

>输入

3 3
0 3
1 2
0 2

>输出

3 1 2

样例说明

原数列为 (1,2,3)​​​​​。

1​​​​​ 步后为 (3,2,1)​​​​​。

2​​​​ 步后为 (3,1,2)​​。

3​​​ 步后为 (3,1,2)​。与第 2 步操作后相同,因为前两个数已经是降序了。

评测用例规模与约定

对于 30 的评测用例,n,m1000

对于 60 的评测用例,n,m5000

对于所有评测用例,1n,m1000000pi11qin

查看答案
赣ICP备20007335号-2