마피아 고발
시간 제한1초메모리 제한512 MB
1번을 루트로 하는 트리와 K가 주어질 때, 최대 K개의 노드를 심문 시작점으로 골라 도달 가능한 조상 노드 수의 합을 최대로 만든다.
문제
Nlognia 경찰국은 지역 마피아를 수사하고 있다. 조직원 전원과 조직 구조는 이미 파악했다. Nlogonian 마피아에는 N명의 조직원이 있고, 각자는 1부터 N까지의 정수로 식별되며 1은 마피아 두목을 나타내는 번호다. 또한 두목을 제외한 모든 조직원은 다른 조직원 한 명의 직속 부하다.
몇 달간 수사했지만 경찰은 아직 어떤 범죄로도 마피아 조직원을 체포할 증거를 확보하지 못했다. 그래서 예언자의 도움을 받기로 했다. 예언자는 마피아 조직원 한 명을 지정하면 그가 저지른 범죄를 마법처럼 알아내고, 경찰은 심문으로 이를 확인할 수 있다.
또한 Nlogonian 마피아 조직원은 심문받으면 자신의 범죄를 자백할 뿐 아니라, 감형을 조건으로 직속 상사의 범죄를 고발한다. 상사가 아직 체포되지 않았다면 경찰은 그 상사도 심문할 수 있고, 그러면 그는 다시 자신의 상사를 고발한다. 두목에 이를 때까지 이 과정이 이어진다.
안타깝게도 예언자는 최대 K명의 마피아 조직원만 알아낼 에너지를 가지고 있고, 경찰은 범죄자를 최대한 많이 체포할 수 있도록 예언자의 힘을 신중히 사용하려 한다. K와 마피아의 전체 구조가 주어졌을 때, 경찰이 체포할 수 있는 마피아 조직원 수의 최댓값은 얼마인가?
입력
첫째 줄에 두 정수 N과 K가 주어진다. N은 마피아 조직원 수, K는 예언자가 알아낼 수 있는 마피아 조직원 수의 최댓값이다 (3 ≤ N ≤ 105, 1 ≤ K < N). 둘째 줄에 N − 1개의 정수가 주어지며, i번째 정수는 식별 번호가 i + 1인 마피아 조직원의 직속 상사 번호다. 둘째 줄의 모든 정수는 1과 N 사이이고, 모든 마피아 조직원은 두목의 부하이며 직속이든 간접이든 관계가 성립한다.
출력
경찰이 체포할 수 있는 마피아 조직원 수의 최댓값을 나타내는 정수 하나를 한 줄에 출력한다.