Skip to content

Dãy hoán vị

Problem code: olpicpc012c03d Group: Uncategorized Problem type: Undefined

Time limit
2.0 s
Memory limit
256 MB
Points
0partial
AC rate
6.0%
Solvers
1

Cho dãy hoán vị P có độ dài N và một số nguyên K.

Bạn có thể thực hiện thao tác như sau với bất kỳ số lần nào (có thể không thực hiện):

  • Chọn hai chỉ số i, j (1 \le i < j \le N) thỏa mãn j-i \geq K và |P_i - P_j| = 1. Hoán đổi giá trị của P_i và P_j.

Tìm dãy hoán vị có thứ tự từ điển nhỏ nhất được tạo ra sau khi thực hiện một số (có thể không) thao tác như trên.

Input

  • Dòng đầu tiên chứa hai số nguyên dương N và K (1 \le N \le 5.10^5, 1 \le K \le N-1).
  • Dòng tiếp theo chứa N số nguyên là các phần tử của dãy hoán vị P (1 \le P_i \le N).
  • Dữ liệu đảm bảo dãy số P là dãy hoán vị hợp lệ.

Output

  • In ra trên N dòng, mỗi dòng gồm các phần tử của dãy hoán vị có thứ tự từ điển nhỏ nhất được tạo ra sau khi thực hiện một số (có thể không) thao tác như trên, theo thứ tự.

Examples

Sample Input
4 2
4 2 3 1
Sample Output
2
1
4
3

Scoring

  • Subtask 1 với 30\% số điểm: N \le 9
  • Subtask 2 với 40\% số điểm: N \le 2000
  • Subtask 3 với 30\% số điểm: Không có ràng buộc gì thêm

Notes

Trong ví dụ, các thao tác được thực hiện như sau:

  1. Chọn i=2, j=4. Dãy hoán vị thu được: P = \{4,1,3,2\}
  2. Chọn i=1, j=3. Dãy hoán vị thu được: P = \{3,1,4,2\}
  3. Chọn i=1, j=4. Dãy hoán vị thu được: P = \{2,1,4,3\}

Có thể nhận thấy rằng không còn dãy hoán vị nào có thứ tự từ điển nhỏ hơn được tạo ra.

Comments