#AT2566. B - Fill the Gaps

B - Fill the Gaps

当前没有测试数据。

B - 填补间隙

得分: $200$ 分

问题描述

我们有一个长度为 $N$ 的正整数序列: $A=(A_1,\ldots,A_N)$。任意两个相邻的项的值均不相等。

现在按照以下步骤向这个序列中插入一些数字。

  1. 如果 $A$ 中的每一对相邻项的绝对差为 1,则终止。
  2. 设 $A_i, A_{i+1}$ 是 $A$ 中在开头最近的一对相邻项,其绝对差不为 1。
    • 如果 $A_i < A_{i+1}$,在 $A_i$ 和 $A_{i+1}$ 之间插入 $A_i+1,A_i+2,\ldots,A_{i+1}-1$。
    • 如果 $A_i > A_{i+1}$,在 $A_i$ 和 $A_{i+1}$ 之间插入 $A_i-1,A_i-2,\ldots,A_{i+1}+1$。
  3. 返回步骤 1。

输出在过程结束时的序列。

约束

  • $2 \leq N \leq 100$
  • $1 \leq A_i \leq 100$
  • $A_i \neq A_{i+1}$
  • 输入中的所有值都是整数。

输入

从标准输入中获得输入数据的格式如下:

NN

A1A_1 A2A_2 \ldots ANA_N

输出

输出过程结束时的序列,用空格分隔。


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

初始序列为 $(2,5,1,2)$。过程如下。

  • 在第一个项 $2$ 和第二个项 $5$ 之间插入 $3,4$,得到序列 $(2,3,4,5,1,2)$。
  • 在第四个项 $5$ 和第五个项 $1$ 之间插入 $4,3,2$,得到序列 $(2,3,4,5,4,3,2,1,2)$。

6
3 4 5 6 5 4
3 4 5 6 5 4

没有进行插入操作。