笛卡尔树
题目描述
给你一个 1∼n 的排列 p1,p2,…,pn。
让你找到一个 1∼n 的排列 q,满足对于任意区间 [l,r](1≤l≤r≤n),满足 pl,pl+1,…,pr 中的最小值的位置,和 ql,ql+1,…,qr 的最小值的位置相同。
输出满足条件的字典序最小的 q。
输入格式
第一行一个整数 n(1≤n≤106)。
接下来一行,一个长度为 n 的排列 p1,p2,…,pn。
输出格式
一行 n 个数 q1,q2,…,qn,表示这个字典序最小的排列。
样例输入
5
4 3 1 5 2
样例输出
3 2 1 5 4