만드는 중입니다

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

톱니 수열

면접 대비

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

요약
서로 다른 N개의 수를 모두 사용해 지그재그 수열을 만들고, 그중 사전순으로 가장 작은 수열을 출력한다.
난이도

보통10점 중 5점

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

문제

서로 다른 자연수 NN개가 주어진다. 이 수들을 모두 정확히 한 번씩 사용하여 톱니 모양(지그재그) 수열을 만들어야 한다.

수열이 톱니 모양이라는 것은 이웃한 두 원소의 대소 관계가 번갈아 나타난다는 뜻이다. 즉, 다음 두 형태 중 하나를 만족해야 한다.

  • a1<a2>a3<a4>a5<a6>a7⋯a_1 < a_2 > a_3 < a_4 > a_5 < a_6 > a_7 \cdots (홀수 번째가 골, 짝수 번째가 봉우리), 또는
  • a1>a2<a3>a4<a5>a6<a7⋯a_1 > a_2 < a_3 > a_4 < a_5 > a_6 < a_7 \cdots (홀수 번째가 봉우리, 짝수 번째가 골).

주어진 수들로 만들 수 있는 톱니 수열은 여러 개일 수 있다. 그중 사전순으로 가장 작은 수열을 출력하여라. 두 수열을 사전순으로 비교할 때에는 처음으로 값이 달라지는 위치에서 더 작은 값을 가진 쪽을 더 작은 수열로 본다.

입력

첫째 줄에 수의 개수 NN이 주어진다. 둘째 줄에 서로 다른 자연수 aia_i가 NN개, 공백으로 구분되어 주어진다.

출력

첫째 줄에 주어진 모든 수를 사용한 톱니 수열 중 사전순으로 가장 작은 것을 공백으로 구분하여 출력한다. (위 두 형태를 모두 후보로 고려한다.)

제한

  • 1≤N≤10001 \le N \le 1000
  • 1≤ai≤100001 \le a_i \le 10000
  • 모든 aia_i는 서로 다르다.

예제4

  1. 예제 1

    입력
    8
    7 8 9 1 15 5 4 3
    
    예상 출력
    1 4 3 7 5 9 8 15
    
  2. 예제 2

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

    입력
    2
    10 2
    
    예상 출력
    2 10
    
  4. 예제 4

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