목차

오큰수

ps
링크acmicpc.net/…
출처BOJ
문제 번호17298
문제명오큰수
레벨골드 4
분류

Monotone Stack

시간복잡도O(n)
인풋사이즈n<=1,000,000
사용한 언어Python
제출기록153488KB / 1132ms
최고기록940ms
해결날짜2021/07/30

풀이

코드

"""Solution code for "BOJ 17298. 오큰수".

- Problem link: https://www.acmicpc.net/problem/17298
- Solution link: http://www.teferi.net/ps/problems/boj/17298

Tags: [MonotoneStack]
"""


def main():
    N = int(input())
    A = [int(x) for x in input().split()]

    nge = [-1] * N
    stack = []
    for i, a_i in enumerate(A):
        while stack and a_i > A[stack[-1]]:
            nge[stack.pop()] = a_i
        stack.append(i)

    print(*nge)


if __name__ == '__main__':
    main()