아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

K-TI

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

요약
K로 나누어떨어지는 위치에 있는 수 중 첫 번째 최댓값을 골라 지우는 과정을 반복하며, 지운 값을 순서대로 출력한다.
난이도

보통10점 중 7점

유형
배열, 시뮬레이션, 세그먼트 트리
정답자
아직 제출이 없습니다

문제

Zadan je niz brojeva i prirodan broj K.

U nizu tražimo najveći broj na pozicijama djeljivim s K, pri čemu pozicije brojeva u nizu brojimo od nule. Drugim riječima, tražimo najveći broj na pozicijama 0, K, 2K, 3K, … Ako najvećih brojeva među njima ima više, biramo prvi najveći. Pronađeni broj brišemo iz niza, pri čemu se brojevi koji slijede nakon njega prirodno pomiču za jedno mjesto ulijevo, tj. mijenjaju svoje pozicije popunjavajući nastalu “rupu”.

Opisani korak ponavljamo dok god ima brojeva u nizu. Napišite program koji to čini umjesto nas.

입력

U prvom su retku prirodni brojevi N i K (2 ≤ K ≤ N ≤ 100 000).

U sljedećem je retku N prirodnih brojeva s vrijednostima iz intervala [1, N] koji čine zadani niz, redom od nultog do (N - 1). broja.

출력

Ispišite N prirodnih brojeva, pri čemu je i-ti ispisani broj jednak broju obrisanom u i-tom koraku.

예제2

  1. 예제 1

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

    입력
    10 3
    2 3 1 9 10 4 5 6 1 5
    
    예상 출력
    9
    10
    4
    5
    6
    2
    5
    3
    1
    1