만드는 중입니다

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

해리 포터와 호그와트 전투

면접 대비

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

요약
1부터 n까지 서로 다른 값이 담긴 배열에 버블 정렬의 패스를 k번 적용한 뒤 결과 배열을 출력합니다.
난이도

보통10점 중 6점

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

통과 횟수

호그와트를 건 결전이 다가온다. 호그와트의 주민 nn명 전원이 적의 공격을 막기 위해 홀에 모였다. 호그와트의 수호자마다 마법의 힘이 있으며, 이 힘은 11부터 nn까지의 자연수이다. 모든 수호자의 마법의 힘은 서로 다르다.

해리는 수호자들이 선 줄에서 마법의 힘이 왼쪽에서 오른쪽으로 갈수록 커지면 공격을 가장 잘 막을 수 있다고 판단했다. 그런데 수호자들은 이미 줄을 섰고, 이 조건을 만족하지 않을 수도 있다.

공격을 막기 위해 해리는 수호자들을 마법의 힘 오름차순으로 재배열하려 한다. 그는 다음 알고리즘을 쓴다. 왼쪽에서 오른쪽으로 걸어가며 이웃한 수호자 쌍을 본다. 왼쪽 수호자가 오른쪽 수호자보다 강하면 두 자리를 바꾼다.

『기초 머글 정보학』 과목에서 해리는 이런 통과를 n−1n-1번 하면 모든 수호자가 마법의 힘 오름차순으로 정렬된다는 것을 안다. 하지만 시간이 부족해서 해리는 kk번만 통과할 수 있다.

해리가 kk번 통과한 뒤 수호자들이 적군을 마주하는 순서를 구하라.

입력

첫 줄에 정수 nn(1≤n≤2000001 \le n \le 200000)과 해리가 통과할 수 있는 횟수 kk(0≤k≤n−10 \le k \le n-1)이 주어진다. 둘째 줄에는 처음 줄에서 왼쪽부터 오른쪽으로 선 수호자들의 마법의 힘 aia_i(1≤ai≤n1 \le a_i \le n)가 nn개 주어진다.

출력

해리가 kk번 통과한 뒤 수호자들의 마법의 힘 bib_i를 왼쪽부터 차례로 nn개 한 줄에 출력한다.

예제2

  1. 예제 1

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

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