만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

고양이 친구 관계

시간 제한2초메모리 제한1024 MB

요약
고양이 n마리의 선호 관계가 순열로 주어질 때, 길이가 정확히 k인 사이클이 생기도록 바꿔야 하는 최소 변경 횟수를 구합니다.
난이도

보통10점 중 6점

유형
그래프, 그리디, 수학
정답자
아직 제출이 없습니다

문제

델프트에 nn마리 고양이로 이루어진 큰 공동체가 있다. 고양이는 1번부터 nn번까지 번호가 붙어 있다. 각 고양이에게는 가장 좋아하는 놀이 상대 pip_i가 있다. 고양이는 매우 자기중심적이어서 pi=ip_i = i도 허용된다. 같은 놀이 상대를 고르는 고양이는 없으므로 pip_i는 모두 서로 다르다.

고양이 대 코아티 축구 경기를 열려고 한다. 한 팀에는 정확히 kk마리의 고양이가 필요하다.

kk마리를 모으려고 팀 주장 고양이 한 마리를 정한다. 그다음 주장부터 다음 과정을 반복한다. 고양이 ii가 가장 좋아하는 상대 pip_i를 골라 팀에 넣는다. 이어서 고양이 pip_i가 자신의 상대 ppip_{p_i}를 골라 팀에 넣고, 이런 식으로 계속한다. 이미 팀에 있는 고양이를 초대하려 할 때 과정이 멈춘다. 어떤 주장을 골랐을 때 팀이 정확히 kk마리가 되면 경기를 할 수 있다.

이 방법으로 kk마리 팀을 찾을 수 없는 경우가 있다. 그래서 일부 고양이에게 좋아하는 놀이 상대를 바꾸도록 설득하기로 한다. 구체적으로는 고양이 ii (1≤i≤n1 \leq i \leq n)를 골라 xx (1≤x≤n1 \leq x \leq n)를 정하고 pi:=xp_i := x로 고치는 작업을 반복할 수 있다. 변경 후 pip_i들이 더 이상 서로 다르지 않을 수 있지만 상관없다.

경기를 할 수 있도록 하려면, 놀이 상대를 바꾸도록 고양이를 설득해야 하는 최소 횟수는 얼마인가?

(비미국식 표기)

입력

첫 줄에 정수 nn과 kk가 주어진다 (1≤n≤2⋅1051 \leq n \leq 2 \cdot 10^5, 1≤k≤n1 \leq k \leq n). nn은 고양이 수, kk는 팀 인원이다. 둘째 줄에 nn개의 정수 p1,p2,…,pnp_1, p_2, \dots, p_n이 주어진다 (1≤pi≤n1 \leq p_i \leq n). ii번째 정수는 고양이 ii가 가장 좋아하는 놀이 상대이다. 모든 pip_i는 서로 다르다고 보장된다.

출력

경기를 할 수 있도록 놀이 상대를 바꾸도록 고양이를 설득해야 하는 최소 횟수를 출력한다.

예제2

  1. 예제 1

    입력
    2 1
    2 1
    
    예상 출력
    1
    
  2. 예제 2

    입력
    5 5
    3 4 1 2 5
    
    예상 출력
    2