题目描述
有一个长度为 N 的正整数数列 A=(A1,…,AN)。任意相邻的两个元素都不相等。
对于这个数列,按照以下操作插入一些数:
- 如果数列 A 的所有相邻两项的差的绝对值都是 1,则操作结束。
- 从数列 A 的开头开始,找到第一个相邻两项的差的绝对值不是 1 的位置,记为 Ai,Ai+1。
- 如果 Ai<Ai+1,则在 Ai 和 Ai+1 之间插入 Ai+1,Ai+2,…,Ai+1−1。
- 如果 Ai>Ai+1,则在 Ai 和 Ai+1 之间插入 Ai−1,Ai−2,…,Ai+1+1。
- 回到步骤 1。
请输出操作结束后的数列。
输入格式
输入以以下格式从标准输入读入:
N A1 A2 … AN
输出格式
请将操作结束后的数列的每个元素用空格分隔输出。
样例 1
输入
4
2 5 1 2
输出
2 3 4 5 4 3 2 1 2
样例 2
输入
6
3 4 5 6 5 4
输出
3 4 5 6 5 4
说明/提示
限制条件
- 2≤N≤100
- 1≤Ai≤100
- Ai=Ai+1
- 输入均为整数
样例解释 1
最初,数列为 (2,5,1,2)。操作如下进行:
- 在第 1 项 2 和第 2 项 5 之间插入 3,4,数列变为 (2,3,4,5,1,2)。
- 在第 4 项 5 和第 5 项 1 之间插入 4,3,2,数列变为 (2,3,4,5,4,3,2,1,2)。
样例解释 2
有时一次也不需要插入。
由 ChatGPT 4.1 翻译