아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Побег с горной базы

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

요약
n개의 평지가 이루는 루트 트리에서 헬리콥터 k대를 배치해, 아래로 내려가며 한 대라도 만날 수 있는 평지 수의 최댓값을 구한다.
난이도

보통10점 중 7점

유형
트리, 그리디, 동적 계획법, DFS
정답자
아직 제출이 없습니다

문제

После того как Лэнс Стерлинг украдет чемодан с горной базы, ему предстоит вернуться в штаб. Самый безопасный способ это сделать --- съехать на лыжах по горе и сесть в вертолёт, который заранее будет стоять на одной из плоских полян, расположенных на горе.

Всего на горе есть nn полян, которые пронумерованы от 11 до nn в порядке уменьшения высоты. Поляна с номером 11 находится выше всего, а на каждую другую поляну ведет тропа с ровно одной поляны, которая находится выше. Лэнс может скатываться на лыжах только по тропам и только с более высокой поляны на более низкую.

У Лэнса в распоряжении есть kk вертолетов. Он собирается расставить их на некоторых полянах. Лэнс еще не знает, на какой из полян он окажется сразу после побега. Поэтому, хочет расставить вертолеты таким образом, чтобы количество полян, с которых он может добраться до какого-нибудь вертолета, было максимально.

Сейчас они с Уолтером прорабатывают план, и Лэнс заинтересовался, чему равно максимальное количество полян, с которых можно будет добраться до вертолета, если расставить вертолеты оптимальным образом.

입력

В первой строке даны два числа nn и kk --- количество полян на горе и вертолётов в распоряжении у Лэнса (1≤k≤n≤300,0001 \le k \le n \le 300\\,000).

В следующей строке даны n−1n - 1 целых чисел p_2,p_3,…p_np\_2, p\_3, \dots p\_n. Число p_ip\_i означает, что тропа, ведущая на поляну ii, начинается на поляне p_ip\_i (1≤p_i<i1 \le p\_i < i).

출력

Выведите одно число --- максимальное количество полян, с которых можно будет добраться до вертолета при оптимальной расстановке вертолетов.

예제1

  1. 예제 1

    입력
    7 2
    1 2 3 2 5 1
    
    예상 출력
    6