#867. [Cqoi2014]排序机械臂

[Cqoi2014]排序机械臂

题目描述

为了把工厂中高低不等的物品按从低到高排好序,工程师发明了一种排序机械臂。它遵循一个简单的排序规则,第一次操作找到高度最低的物品的位置 P1P_1 ,并把左起第一个物品至 P1P_1 间的物品 (即区间 [1,P1][1,P_1] 间的物品) 反序;第二次找到第二低的物品的位置 P2P_2 ,并把左起第二个至 P2P_2 间的物品 (即区间 [2,P2][2,P_2] 间的物品) 反序……最终所有的物品都会被排好序。

样例说明

上图给出有六个物品的示例,第一次操作前,高度最低的物品在位置 44 ,于是把第一至第四的物品反序;第二次操作前,第二低的物品在位罝六,于是把第二至六的物品反序……

你的任务便是编写一个程序,确定一个操作序列,即每次操作前第 ii 低的物品所在位置 PiP_i ,以便机械臂工作。需要注意的是,如果有高度相同的物品,必须保证排序后它们的相对位置关系与初始时相同。

输入格式

第一行包含正整数n,表示需要排序的物品数星。

第二行包含n个空格分隔的整数PiP_i,表示每个物品的高度。

输出格式

输出一行包含n个空格分隔的整数Pi。

样例 #1

样例输入 #1

6
3 4 5 1 6 2

样例输出 #1

4 6 4 5 6 6

提示

N100000N \le 100000

Pi107P_i \le 10^7