TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  问题讨论与解答  统计信息与排名
  • 首页
  • 题库
  • P2513
  • 题目
  • P2513切序列
    限制 : 时间限制 : 20000 MS   空间限制 : 65536 KB
    问题描述

    给定一个非负整数序列{A1,A2,...,An},保证A1>A2, ..., An。
    现在需要你要把它切成三段,每段序列长度>=1。把每段序列翻转。再把翻转后的三段序列按原顺序重新拼接。
    要求使新的序列的"字典序"尽可能小。

    输入格式

    第一行一个正整数n。
    接下来n行每行一个数,依次表示序列的每一个数字。

    输出格式

    共n行,每行一个数。依次表示新序列的每一个数字。

    样例输入 1

    5
    10
    1
    2
    3
    4

    样例输出 1

    1
    10
    2
    4
    3

    样例输入 2


    10 0 2 2 2 2 3

    样例输出 2

    0
    10
    2
    2
    2
    2
    3

    样例输入 3


    5 0 3 1 2 3 1 4

    样例输出 3









    样例输入 4

    9
    100 80 1 2 2 81 1 2 2

    样例输出 4

    1
    80
    100
    1
    81
    2
    2
    2
    2

    提示

    对于100%的数据:n ≤ 200000  0<=Ai<=1000000000

    样例解释
    {10,1,2,3,4} 切割-> {10,1} {2} {3,4} 翻转 -> {1,10}{2}{4,3} 拼接 -> {1,10,2,4,3}
    1<=Ai<=10^9


    来源  poj 3581