‹ 上一题 下一题 ›

g5-08214. 下一个更大元素 未做

1000 ms 256 MB 测试点 10 通过率 100% GESP-55级·STLstack

题目描述

给一排 个数,对每个数都找它右边第一个比它大的数,找到就输出那个数,右边不存在比它大的数就输出 。

从右往左扫描,手里维护一个栈:栈里存的是「位置 右边还活着的高度候选」。新来的数会淘汰掉栈顶所有不比它大的候选——它们既够不着自己,更够不着 左边的数。淘汰完剩下的栈顶就是答案;这就是单调栈。

输入格式

第一行一个整数 ()。

第二行 个整数 ()。

输出格式

一行 个整数:每个数右边第一个比它大的数(没有为 ),用空格分隔。

样例

输入:

3
1 5 3

输出:

5 -1 -1

1 右边第一个更大的是 5;5 和 3 右边都没有比它们大的数。

数据范围

。对每个数往右扫一格找答案是 ——一万个全相等的数就能把它卡死;单调栈一轮 。

输入
输出

            
答案