Time limit: 1.0s , Memory limit: 256M , Points: 100 (partial)
Cho dãy hoán vị và một số nguyên
. Hãy thực hiện thao tác sau đây với số lần ít nhất để đưa các phần tử của dãy hoán vị trở thành bằng nhau từng đôi một:
- Chọn hai chỉ số
và
thỏa mãn
, gọi
, gán
với mọi
.
Input
- Dòng đầu tiên chứa hai số nguyên
và
.
- Dòng thứ hai chứa
số nguyên của dãy hoán vị
.
- Dữ liệu đảm bảo dãy
là một dãy hoán vị hợp lệ.
Output
- In ra số lần thực hiện thao tác ít nhất.
Examples
Sample Input 1
4 3
2 3 4 1
Sample Output 1
2
Sample Input 2
3 3
2 1 3
Sample Output 2
1
Scoring
- Subtask
điểm:
- Subtask
điểm: Không có ràng buộc gì thêm
Notes
Trong ví dụ thứ nhất, thực hiện lần thao tác như sau:
- Chọn
, khi đó
và dãy
trở thành
.
- Chọn
, khi đó
và dãy
trở thành
.
Trong ví dụ thứ hai, thực hiện lần thao tác như sau:
- Chọn
, khi đó
và dãy
trở thành
.
Comments