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

#1328

빌딩 1초 32MB

문제

N개의 빌딩이 있다. 

빌딩은 1번부터 N번까지 번호가 붙어 있다.

빌딩은 X좌표 상에 위치해 있으며 i번 빌딩은 i좌표 상에 위치해 있다. 그리고 각 빌딩은 H_i 만큼의 높이를 가지고 있다.

i < j 이고 H_i < H_j 일 경우, i번 빌딩에서 j번 빌딩을 볼 수 있다. 

각 빌딩에서 현재 빌딩의 좌표보다 오른쪽에 있는 빌딩을 보고자 할 때, 가장 가까이 보이는 빌딩이 어딘지 찾는 프로그램을 작성하라.


입력

입력의 첫 번째 줄에는 N이 입력된다(1≤N≤100,000).

그리고 그 다음 줄부터는 H_i(1≤H_i≤1,000,000)가 순서대로 한 줄에 하나씩 입력된다.


출력

N개의 줄에 출력을 하게 되며, i번째 줄에는 i번 빌딩에서 보이는 가장 가까운 빌딩의 번호를 출력한다. 

만약에 보이는 빌딩이 없을 경우에는 0을 출력한다.


예제1

입력
6

3
2
6
1
1
2
출력
3

3
0
6
6
0

태그

역링크