hoanvi3 - Hoán vị lớn nhất
Dữ liệu vào: standard input
Dữ liệu ra: standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 128 megabyte
Đăng bởi: admin

hoanvi3 - Hoán vị lớn nhất

Cho hoán vị của tập {1,2,3,.....N}. Bạn có thể hoán đổi bất kỳ hai phần tử nào với số lần giới hạn

Hãy xác định xem hoán vị có thứ tự từ điển lớn nhất có thể thu được sau khi thực hiện số lần hoán đổi nhất định (số lần hoán đổi  không quá giới hạn K đã cho)

Ví dụ, nếu mảng a=[1,2,3,4] và số lần hoán đổi giới hạn là K=1, thì các mảng sau có thể thu được bằng cách hoán đổi 1 với phần tử khác:

[2,1,3,4]

[3,2,1,4]

[4,2,3,1]

Hoán vị có thứ tự từ điển lớn nhất trong trường hợp này là [4,2,3,1]

Nếu k>=2, ta có thể hoán đổi để thu được hoán vị có thứ tự từ điển lớn nhất là [4,3,2,1]

Input

Dòng đầu tiên gồm hai số nguyên n và k, đó là chiều dài của mảng và số lần hoán đổi lớn nhất có thể thực hiện. 

Dòng thứ hai gồm n số nguyên phân biệt và duy nhất a[i] (1<=a[i]<=n)

Giới hạn

1<=n<=10^5

1<=k<=10^9

Ouput

Đưa ra hoán vị có thứ tự từ điển lớn nhất sau khi thực hiện tối đa k bước hoán đổi

Ví dụ

Input

Ouput

5 1

4 2 3 5 1

5 2 3 4 1

3 1

2 1 3

3 1 2

2 1

2 1

2 1

Ví dụ

Back to Top