A49360.单调栈
入门
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
给出项数为 n 的整数数列 a1,a2,…,an。
定义函数 f(i) 代表数列中第 i 个元素之后第一个大于 ai 的元素的下标,即:f(i)=mini<j≤nai<aj{j}
若不存在这样的元素,则 f(i)=0。
试求出 f(1),f(2),…,f(n)。
输入格式
第一行包含整数 n。
第二行包含 n 个整数,依次为 a1,a2,…,an。
输出格式
输出一行 n 个整数,用空格分隔,第 i 个数即为 f(i)。
输入输出样例
输入#1
5 1 4 2 3 5
输出#1
2 5 4 5 0
说明/提示
对于20%的数据,保证1≤n≤103,1≤ai≤n。
对于100%的数据,保证1≤n≤3∗105,1≤ai≤109。