QOJ.ac

QOJ

Límite de tiempo: 2.0 s Límite de memoria: 512 MB Puntuación total: 100

#17599. K-TI

Estadísticas

주어진 수열과 자연수 $K$가 있다.

수열에서 위치가 $K$의 배수인 곳에 있는 숫자들 중 가장 큰 수를 찾는다. 이때 수열의 위치는 0부터 시작한다. 즉, 위치 $0, K, 2K, 3K, \dots$에 있는 숫자들 중 가장 큰 수를 찾는다. 만약 가장 큰 수가 여러 개라면, 그중 가장 앞에 있는 것을 선택한다. 찾은 수를 수열에서 삭제하며, 삭제된 수 뒤에 있던 숫자들은 한 칸씩 왼쪽으로 이동하여 빈자리를 채운다.

위 과정을 수열에 숫자가 남아있지 않을 때까지 반복한다. 이 과정을 수행하는 프로그램을 작성하시오.

입력

첫 번째 줄에 자연수 $N$과 $K$가 주어진다 ($2 \le K \le N \le 100\,000$).

다음 줄에 $N$개의 자연수가 주어지며, 이는 0번째부터 $(N-1)$번째까지의 수열을 구성한다. 각 수의 값은 $[1, N]$ 범위에 있다.

출력

$N$개의 자연수를 출력한다. $i$번째로 출력하는 수는 $i$번째 단계에서 삭제된 수여야 한다.

서브태스크

서브태스크 배점 추가 제한
1 7 $N \le 1000$
2 25 $K = 2$
3 23 $K \le 10$
4 25 $100 \le K \le N$
5 20 제한 없음

예제

입력 1

10 2
2 3 1 9 10 4 5 6 1 5

출력 1

10
6
4
5
2
9
3
5
1
1

입력 2

10 3
2 3 1 9 10 4 5 6 1 5

출력 2

9
10
4
5
6
2
5
3
1
1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.