Time limit: 1.0s , Memory limit: 256M , Points: 2000 (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