P3165 [CQOI2014]排序机械臂

2021-06-20 11:06

阅读:578

题目描述

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

技术分享图片

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

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

输入输出格式

输入格式:

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

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

输出格式:

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

输入输出样例

输入样例#1: 
6
3 4 5 1 6 2
输出样例#1: 
4 6 4 5 6 6

说明

N

Pi


评论


亲,登录后才可以留言!