페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#8275

BST 재구성 1s 1024MB

문제

이진 탐색 트리(BST)의 후위순회(postorder traversal) 결과가 주어졌을 때, 해당 BST를 복원하는 프로그램을 작성하시오.

BST를 복원한 후, 전위순회(preorder traversal) 결과를 출력하시오.


입력

첫 번째 줄에 BST의 노드의 개수 N (1 \leq N \leq 10^5)가 주어진다.

두 번째 줄에 BST의 후위순회 결과가 N개의 정수로 주어진다.

  • 각 노드는 1 이상 10^9 이하의 정수

  • 모두 서로 다른 수로 이루어짐이 보장됨

입력된 값들은 이진 탐색 트리(BST)의 후위순회 결과임이 보장된다.


출력

복원된 BST의 전위순회(preorder traversal) 결과를 한 줄에 출력하시오.

  • 각 숫자는 공백으로 구분된다.


예제 #1

3
1 3 2
2 1 3
  2
 / \
1   3

예제 #2

9
2 1 3 5 4 7 8 9 6
6 4 3 1 2 5 9 8 7


출처

klee
로그인해야 코드를 작성할 수 있어요.