Hoán Vị Lớn Nhất
Bạn được cung cấp một mảng không có thứ tự gồm các số nguyên duy nhất tăng từ 1 ( arr[ i ] != arr[ j ] ). Bạn có thể trao đổi bất kỳ hai yếu tố với số lần giới hạn. Xác định mảng giá trị từ điển lớn nhất có thể được tạo bằng cách thực hiện không quá số lần hoán đổi giới hạn.
Ví dụ, nếu arr = [1,2,3,4] và hoán đổi tối đa k = 1, các mảng sau có thể được hình thành bằng cách hoán đổi với các phần tử khác:
[ 2 , 1 , 3 , 4 ]
[ 3 , 2 , 1 , 4 ]
[ 4 , 2 , 3 , 1 ]
Giá trị cao nhất trong bốn (bao gồm cả bản gốc) là [4,2,3,1]. Nếu k >= 2, chúng ta có thể trao đổi với
giá trị cao nhất có thể : [4,3,2,1].
Mô tả chức năng
Bài toán có các tham số sau:
k : một số nguyên biểu thị giới hạn của các giao dịch hoán đổi
arr : một mảng các số nguyên
Định dạng đầu vào
Dòng đầu tiên chứa hai số nguyên n và k được phân tách bằng dấu cách.
Dòng thứ hai chứa n các số nguyên arr[i] với 1 <= arr[i] <= n .
Những ràng buộc
1 <= n <= 10^5
1 <= k <= 10^9
Định dạng đầu ra
In hoán vị từ vựng lớn nhất mà bạn có thể thực hiện với hầu hết các giao dịch hoán đổi.
Input 0
5 1
4 2 3 5 1
Output 0
5 2 3 4 1
Giải Thích
Ở đây bạn hoán vị 2 số 4 và 5 để được hoán vị lớn nhất là [5,2,3,4,1]
Input 1:
2 1
2 1
Output 1:
2 1
Giải Thích:
Bạn không cần phải hoán đổi vì 2 1 là hoán đổi lớn nhất rùi
Comments