Feline Friendship
시간 제한2초메모리 제한1024 MB
순열이 주어질 때, 어떤 사이클의 길이가 정확히 k가 되도록 최소 개수의 원소를 바꾼다.
문제
There is a big community of cats in Delft. The cats are numbered from to . Each cat has a favourite playing partner, (cats can be very egocentric, so is allowed). It turns out that no two cats share the same favourite playing partner, so the are distinct.
You are organising a big game of Cats versus Coatis football1, for which you will need exactly cats in a team.
To get cats to join your game, you appoint one cat as team captain. Then the following process is repeated, starting with the team captain cat. A cat selects its favourite playing partner , adding to the team. Subsequently, cat will select its favourite playing partner, adding to the team, and so on. The process only stops when a cat tries to invite a cat that is already on the team. If, for some choice of the team captain, the number of cats in the team is exactly , the game can be played.
Sometimes, it is not possible to find a team of cats in this way. Therefore, you have decided to convince some cats to change their favourite playing partner. Formally, you repeatedly select a cat () and choose an () and update the playing partner After the change, it can be the case that are no longer distinct, but that is fine.
What is the minimum number of times you need to convince a cat to change their favourite playing partner, such that the football game can be played?
1Non-American.
입력
The input consists of:
- One line with two integers, and (, ), the number of cats and the team size for the football game.
- One line with integers, (), where the th integer is the favourite playing partner of cat .
It is guaranteed that the are all distinct.
출력
Output the minimum number of times you need to convince a cat to change their favourite playing partner, such that the football game can be played.