版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oytf10001/article/details/88616863
考题1
描述
给定一个1到
n的排列,依次从队尾插入到队列中,在任何时刻你都可以弹出队首或队尾。最终你需要把队列清空。
问:如何使得出队序列的字典序最大?请输出这个序列。
输入
输入的第一行包含一个正整数
n。
接下来1行包含
n个整数,一个1到
n的排列。
输出
输出1行
n个整数,即所求序列。
样例1输入
5
1 4 3 5 2
样例1输出
5 3 4 2 1
样例1解释
依次加入1、4、3、5、2到队列里,我们有这些个出队序列:
4 3 2 5 1
4 3 5 2 1
等等等,但字典序最大的是
5 3 4 2 1
样例2
请查看下发文件内的sample2_input.txt和sample2_output.txt。
限制
其中30%的数据,
n=200;
另外30%的数据,
n=2000;
另外20%的数据,
n=2×105;
剩下20%的数据,
n=2×106。
时间:2 sec
空间:256 MB
注意,使用python的同学,OJ给你们提供了pypy来提速,源代码根本不用变,只需在第一行修改一下即可享受高速python。
使用pypy必须得在第一行加上(或者直接使用我给你们的IO模板)
python 2:
#!/usr/bin/env pypy
python 3:
#!/usr/bin/env pypy3
提示
为了帮助大家完成题目,我们提供了只包含了输入输出功能的程序模板。
你可以根据自己的实际情况,在这些程序的基础上进行作答,或不参考这些程序,这将与你的得分无关。
这些程序可以从【这里】下载。