만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

모티와 비밀번호

면접 대비

시간 제한2초메모리 제한1024 MB

요약
각 컵이 인접한 자리와의 교환에서 최대 두 번만 건드려질 때 만들 수 있는 사전순으로 가장 큰 순열을 구합니다.
난이도

보통10점 중 6점

유형
그리디, 배열
정답자
아직 제출이 없습니다

문제

리크는 손자 모티가 얼마나 기지가 뛰어난지 시험해 보기로 했다. 모티가 아끼는 제시카는 비밀번호 자물쇠가 달린 방에 갇혀 있고, 그녀를 구하려면 모티가 리크의 실험을 통과해야 한다.

리크는 모티 앞에 주스 컵 nn개를 일렬로 놓았다. 각 컵에는 11부터 nn까지의 정수가 적혀 있다. 왼쪽에서 ii번째 컵에 적힌 수는 aia_i이다. 모든 수는 서로 다르며, 11부터 nn까지의 순열을 이룬다.

모티는 인접한 두 컵을 원하는 만큼 자리 바꿀 수 있다. 손이 떨려서 자리를 바꿀 때마다 두 컵에서 주스가 조금씩 쏟아진다. 리크는 각 컵을 최대 두 번까지만 만지도록 허락했다. 금고의 비밀번호는 이 실험으로 얻을 수 있는 순열 가운데, 왼쪽에서 오른쪽으로 읽었을 때 사전순으로 가장 큰 순열이다.

모티가 비밀번호를 찾아 제시카를 구하도록 도와라.

입력

첫째 줄에 컵의 개수 nn이 주어진다 (1≤n≤100 0001 \le n \le 100\,000).

둘째 줄에는 실험을 시작할 때 컵에 적힌 정수 a1,a2,…,ana_1, a_2, \ldots, a_n이 주어진다 (1≤ai≤n1 \le a_i \le n). 모든 aia_i는 서로 다르다.

출력

비밀번호를 공백으로 구분한 nn개의 정수로 출력한다.

힌트

길이가 nn인 순열 aa가 길이가 nn인 순열 bb보다 사전순으로 크다는 것은, 모든 ii (1≤i≤x−11 \le i \le x - 1)에 대해 ai=bia_i = b_i이고 ax>bxa_x > b_x인 xx가 존재한다는 뜻이다.

예제2

  1. 예제 1

    입력
    5
    5 4 3 2 1
    
    예상 출력
    5 4 3 2 1
    
  2. 예제 2

    입력
    7
    7 1 2 3 4 5 6
    
    예상 출력
    7 3 4 1 2 6 5