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 |