编程题
排序机械臂
### 题目描述
为了把工厂中高低不等的物品按从低到高排好序,工程师发明了一种排序机械臂。它遵循一个简单的排序规则,第一次操作找到高度最低的物品的位置 $P_1$ ,并把左起第一个物品至 $P_1$ 间的物品 (即区间 $[1,P_1]$ 间的物品) 反序;第二次找到第二低的物品的位置 $P_2$ ,并把左起第二个至 $P_2$ 间的物品 (即区间 $[2,P_2]$ 间的物品) 反序……最终所有的物品都会被排好序。
(图片来自洛谷)
上图给出有六个物品的示例,第一次操作前,高度最低的物品在位置 $4$ ,于是把第一至第四的物品反序;第二次操作前,第二低的物品在位罝六,于是把第二至六的物品反序……
你的任务便是编写一个程序,确定一个操作序列,即每次操作前第 $i$ 低的物品所在位置 $P_i$ ,以便机械臂工作。需要注意的是,如果有高度相同的物品,必须保证排序后它们的相对位置关系与初始时相同。
### 输入描述
第一行包含正整数 $n$,表示需要排序的物品数星。
第二行包含 $n$ 个空格分隔的整数$P_i$,表示每个物品的高度。
其中,$N \le 100000$,$P_i \le 10^7$。
### 输出描述
输出一行包含 $n$ 个空格分隔的整数 $P_i$。
### 输入输出样例
#### 示例 1
>输入
``` txt
6
3 4 5 1 6 2
```
>输出
``` txt
4 6 4 5 6 6
```