25 - 单调栈

对于一个1n的排列P(即1n中每一个数在P中出现了恰好一次),令q_i为第i个位置之后第一个比P_i值更大的位置,如果不存在这样的位置,则q_i=n+1

举例来说,如果n=5P1\ 5\ 4\ 2\ 3,则q2\ 6\ 6\ 5\ 6

输入

输入的第一行包含一个整数n,表示P中元素的个数。

接下来一行包含n个整数,范围保证在int范围内,每个数之间有一个空格分隔。

输出

根据提供给我们的P,输出对应的q。要求q中的每个元素之间有一个空格进行分隔。

样例

输入

5
1 5 4 2 3

输出

2 6 6 5 6

提示

【数据规模】 
50% 的数据,满足 1≤n≤1000; 
100%的数据,满足 1≤n≤10000。

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题