AT_arc080_c.[ARC080E] Young Maids

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

设 NN 为一个正的偶数。

有一个排列 p=(p1,p2,...,pN)p = (p_1, p_2, ..., p_N),其为 11 到 NN 的一个排列。すぬけ君希望通过如下过程构造出一个 11 到 NN 的排列 qq:

首先,准备一个空序列 qq。然后重复以下操作,直到 pp 变为空:

  • 选择 pp 中相邻的两个元素,依次记为 xx、yy,将 xx、yy 从 pp 中移除(此时 pp 长度减少 22),再将 xx、yy 按顺序插入到 qq 的开头。

当 pp 为空时,qq 就是一个 11 到 NN 的排列。

请你输出字典序最小的 qq。

输入格式

输入从标准输入中以如下格式给出:

N p1 p2 ... pNN\ p_1\ p_2\ ...\ p_N

输出格式

请输出字典序最小的 qq,各元素用空格分隔。

输入输出样例

  • 输入#1

    4
    3 2 4 1

    输出#1

    3 1 2 4
  • 输入#2

    2
    1 2

    输出#2

    1 2
  • 输入#3

    8
    4 6 3 2 8 5 7 1

    输出#3

    3 1 2 7 4 6 8 5

说明/提示

限制条件

  • NN 是偶数。
  • 2≤N≤2×1052 \leq N \leq 2 \times 10^5
  • pp 是 11 到 NN 的一个排列。

样例说明 1

按照如下顺序操作即可:

p     qp\ \ \ \ \ q

(3,2,4,1)    ()(3, 2, 4, 1)\ \ \ \ ()

↓  ↓\downarrow\ \ \downarrow

(3,1)   (2,4)(3, 1)\ \ \ (2, 4)

↓  ↓\downarrow\ \ \downarrow

()   (3,1,2,4)()\ \ \ (3, 1, 2, 4)

样例说明 3

可以按照如下操作完成:

p     qp\ \ \ \ \ q

(4,6,3,2,8,5,7,1)    ()(4, 6, 3, 2, 8, 5, 7, 1)\ \ \ \ ()

↓  ↓\downarrow\ \ \downarrow

(4,6,3,2,7,1)   (8,5)(4, 6, 3, 2, 7, 1)\ \ \ (8, 5)

↓  ↓\downarrow\ \ \downarrow

(3,2,7,1)   (4,6,8,5)(3, 2, 7, 1)\ \ \ (4, 6, 8, 5)

↓  ↓\downarrow\ \ \downarrow

(3,1)   (2,7,4,6,8,5)(3, 1)\ \ \ (2, 7, 4, 6, 8, 5)

↓  ↓\downarrow\ \ \downarrow

()   (3,1,2,7,4,6,8,5)()\ \ \ (3, 1, 2, 7, 4, 6, 8, 5)

由 ChatGPT 5 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页