Побег с горной базы
시간 제한2초메모리 제한1024 MB
n개의 평지가 이루는 루트 트리에서 헬리콥터 k대를 배치해, 아래로 내려가며 한 대라도 만날 수 있는 평지 수의 최댓값을 구한다.
문제
После того как Лэнс Стерлинг украдет чемодан с горной базы, ему предстоит вернуться в штаб. Самый безопасный способ это сделать --- съехать на лыжах по горе и сесть в вертолёт, который заранее будет стоять на одной из плоских полян, расположенных на горе.
Всего на горе есть полян, которые пронумерованы от до в порядке уменьшения высоты. Поляна с номером находится выше всего, а на каждую другую поляну ведет тропа с ровно одной поляны, которая находится выше. Лэнс может скатываться на лыжах только по тропам и только с более высокой поляны на более низкую.
У Лэнса в распоряжении есть вертолетов. Он собирается расставить их на некоторых полянах. Лэнс еще не знает, на какой из полян он окажется сразу после побега. Поэтому, хочет расставить вертолеты таким образом, чтобы количество полян, с которых он может добраться до какого-нибудь вертолета, было максимально.
Сейчас они с Уолтером прорабатывают план, и Лэнс заинтересовался, чему равно максимальное количество полян, с которых можно будет добраться до вертолета, если расставить вертолеты оптимальным образом.
입력
В первой строке даны два числа и --- количество полян на горе и вертолётов в распоряжении у Лэнса ().
В следующей строке даны целых чисел . Число означает, что тропа, ведущая на поляну , начинается на поляне ().
출력
Выведите одно число --- максимальное количество полян, с которых можно будет добраться до вертолета при оптимальной расстановке вертолетов.