이전 순열

면접 대비

시간 제한1초메모리 제한256 MB

요약
1부터 N까지 순열이 주어지면 사전 순으로 바로 앞 순열을 출력하고 첫 순열이면 -1을 출력합니다.
난이도

보통10점 중 4점

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

문제

11부터 NN까지의 수로 이루어진 순열이 하나 주어진다. 이 순열보다 사전순으로 바로 앞에 오는 순열을 구하는 프로그램을 작성하시오.

사전순으로 가장 앞서는 순열은 오름차순으로 이루어진 순열이고, 가장 뒤에 오는 순열은 내림차순으로 이루어진 순열이다.

N=3N = 3일 때 순열을 사전순으로 늘어놓으면 다음과 같다.

  • 1, 2, 3
  • 1, 3, 2
  • 2, 1, 3
  • 2, 3, 1
  • 3, 1, 2
  • 3, 2, 1

입력

첫째 줄에 NN이 주어진다 (1≤N≤100001 \le N \le 10000). 둘째 줄에 11부터 NN까지의 수로 이루어진 순열이 공백으로 구분되어 주어진다.

출력

첫째 줄에 입력으로 주어진 순열의 바로 이전 순열을 공백으로 구분해 출력한다. 주어진 순열이 사전순으로 가장 처음에 오는 순열이면 −1-1을 출력한다.

예제5

  1. 예제 1

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

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

    입력
    1
    1
    
    예상 출력
    -1
    
  4. 예제 4

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

    입력
    3
    2 1 3
    
    예상 출력
    1 3 2