#P2324. 后面第一个比自己大的数

后面第一个比自己大的数

问题描述

对于一个 11nn 的排列 pip_i(即 11nn 中每一个数在 pip_i 中出现了恰好一次),令 qiq_i 为第 ii 个位置之后第一个比 pip_i 值更大的位置,如果不存在这样的位置,则 qi=n+1q_i = n + 1。举例来说,如果 n=5n = 5pp 为 1 5 4 2 3 ,则 qq 为 2 6 6 5 6 。

下列程序读入了排列 pip_i ,使用双向链表求解了答案。试补全程序。

数据输入

第一个行一个整数 nn (1n1051 \le n \le 10^5) 。

第二行 nn 个整数 pip_i,不会有重复的数。

数据输出

一行 n 个数 qiq_i,用空格隔开。

样例

6
2 3 1 6 4 5
2 4 4 7 6 7