问题描述
给出项数为 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…n) 的值。
样例
5
1 4 2 3 5
2 5 4 5 0
提示
数据范围
对于 30% 的数据,n≤100 ;
对于 60% 的数据,n≤5×103 ;
对于 100% 的数据,1≤n≤3×106 ,1≤ai≤109 。
信息学奥赛网,一个优质的信息学奥赛学习资源平台!
信息学奥赛网 »
【模板】单调栈