A49360.单调栈
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
给出项数为 n 的整数数列 a1…n。
定义函数 f(i) 代表数列中第 i 个元素之后第一个大于 ai 的元素的下标,即 f(i)=mini<j≤n,aj>ai{j}。若不存在,则 f(i)=0。
试求出 f(1…n)。
输入格式
第一行一个正整数 n。
第二行 n 个正整数 a1…n。
输出格式
一行 n 个整数表示 f(1),f(2),…,f(n) 的值。
输入输出样例
输入#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。