Cuộc chiến bảo vệ HOGVARTS

View as PDF

Submit solution

Points: 200.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Hogvarts chuẩn bị chống trả sự tấn công của các thế lực đen tối. Tuyến tiền tiêu ở ngoài cùng có ~n~ vị trí nằm thành một hàng. Các vị trí được đánh số từ ~1~ đến ~n~ từ trái qua phải, mỗi vị trí có một người. Năng lực chiến đấu của mỗi người có giá trị nguyên, nằm trong phạm vi từ ~1~ đến ~n~ và khác nhau từng đôi một. Người ở vị trí ~i~ có năng lực chiến đấu là ~a_i~. Kết quả bố trí các tuyến phòng thủ theo chiều sâu ở phía trong cho thấy toàn bộ hệ thống phòng thủ sẽ phát huy được tối đa sức mạnh của mình khi ở tuyến tiền tiêu năng lực chiến đấu được bố trí tăng dần từ trái qua phải.

Harry được cử đi tổ chức lại tuyến tiền tiêu. Khả năng đánh giá năng lực chiến đấu của từng người ở Harry là rất tốt. Khi thấy một cặp 2 người ở các vị trí cạnh nhau mà người bên trái có năng lực chiến đấu cao hơn người bên phải Harry cho 2 người này đổi chổ cho nhau. Về lý thuyết, nếu Harry đi duyệt từ đầu đến cuối ~n-1~ lần thì đảm bảo chắc chắn tuyến tiền tiêu sẽ có cấu hình bố trí tối ưu. Đáng tiếc, thời gian không còn nhiều và Harry chỉ kịp đi duyệt có ~k~ lần.

Hãy xác định năng lực chiến đấu của các vị trí ở tuyến tiền tiêu trước khi trận chiến diễn ra.

Dữ liệu:

  • Dòng đầu tiên chứa ~2~ số nguyên ~n~ và ~k~ ~(1 ≤ n ≤ 2~×~10^5~, ~0 ≤ k ≤ n-1~)
  • Dòng thứ ~2~ chứa ~n~ số nguyên ~a_1~, ~a_2~, . . ., ~a_n~.

Kết quả: Đưa ra trên một dòng ~n~ số nguyên – năng lực chiến đấu ở các vị trí từ trái sang phải trên tuyến tiền tiêu sau khi bố trí lại.

Ví dụ:
INPUT
4 1
4 1 3 2
OUTPUT
1 3 2 4

Comments

Please read the guidelines before commenting.


There are no comments at the moment.