def find_maxstack(n,stack):
s = []
output = []
maxnumber = n
for num in stack:
s.append(num)
# 栈不为空,且栈顶元素为最大值
while s and s[-1] == maxnumber:
output.append(s.pop()) # 出栈,并保存操作
maxnumber -= 1 # 最大值减一
# 栈中剩余元素直接输出
while s:
output.append(s.pop())
return output
n = int(input().strip())
stack = list(map(int,input().strip().split(" ")))
print(" ".join(map(str,find_maxstack(n,stack))))



京公网安备 11010502036488号