import sys
input = sys.stdin.readline
from collections import deque
N = int(input())
array = list(map(int, input().split()))
answer = [-1]*(N)
mystack = deque([]) # index 담기
for i in range(N):
while mystack and array[mystack[-1]] < array[i]:
answer[mystack.pop()] = array[i]
mystack.append(i)
print(*answer, end=' ')
'Baekjoon' 카테고리의 다른 글
[정수론] GCD(n, k)=1 (백준 11689) (0) | 2024.09.09 |
---|---|
[버블 정렬] 버블 소트 (백준 1377) (0) | 2024.08.25 |
[DP] 포도주 시식 (백준 2156) (0) | 2024.08.25 |
[슬라이딩 윈도우] 최솟값 찾기 (백준 11003) (0) | 2024.08.25 |