Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 3.0s
Giới hạn bộ nhớ: 1G
Input: DELNUM.INP
Output: DELNUM.OUT

Nguồn bài:
HNOI2223_R2
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python

Cho dãy số ~N~ phần tử được đánh vị trí từ ~0~ đến ~N-1~ và một số ~k~. Ta thực hiện các bước xoá phần tử của dãy số như sau: Xét các phần tử ở các vị trí ~0, \ k, \ 2 \times k,~ ~3 \times k, \dots~, tìm phần tử đầu tiên có giá trị lớn nhất và xoá phần tử đó đi, sau đó các phần tử còn lại sẽ được dồn lại. Thực hiện các bước xoá như trên đến khi dãy số không còn phần tử nào.

Yêu cầu: Hãy đưa ra giá trị của các phần tử bị xoá tại mỗi bước.

Dữ liệu vào từ tệp văn bản DELNUM.INP:

  • Dòng đầu tiên chứa hai số nguyên ~N, k~ ~(2 \le k \le N \le 10^5)~;
  • Dòng thứ hai chứa ~N~ số nguyên ~a_i~ ~(0 \le i \le N-1; \ 1 \le a_i \le N)~.

Kết quả ghi ra tệp văn bản DELNUM.OUT:

Gồm ~N~ dòng, mỗi dòng là giá trị của phần tử bị xoá tại mỗi bước.

Ví dụ

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

Ràng buộc

  • Có ~20\%~ số test ứng với ~20\%~ số điểm có ~N \le 10^3~;
  • ~20\%~ số test khác ứng với ~20\%~ số điểm có ~k = 2~;
  • ~20\%~ số test khác ứng với ~20\%~ số điểm có ~k \le 10~;
  • ~20\%~ số test khác ứng với ~20\%~ số điểm có ~100 \le k \le N~;
  • ~20\%~ số test còn lại ứng với ~20\%~ số điểm không có ràng buộc gì thêm.