만드는 중입니다

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

가족 사진

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

요약
뿌리가 있는 가계도에서 옆에 선 사람끼리 조상과 후손 관계가 되도록 한 줄로 세울 수 있는 최대 인원을 구합니다.
난이도

어려움10점 중 8점

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

문제

Bitian 가족이 지금 가족 모임을 하고 있다. 가족 구성원에게는 1부터 n까지 연속된 번호가 붙어 있다. 가장 연장자인 Bityslav가 1번이다. 나머지 가족 구성원은 각각 정확히 한 명의 부모를 가진다(조금 이상하지만 그렇다고 하자).

이 가족 모임은 잘 기록해 두어야 하고, 사진도 찍어야 한다. 사진에는 가족 구성원 일부가 한 줄로 서서 담긴다. 그런데 올해 가족 구성원들은 매우 까다롭다. 두 구성원이 서로 옆에 설 수 있는 경우는 한 명이 다른 한 명의 조상인 경우뿐이다. A가 B의 조상이라는 것은 A가 B의 부모이거나, A가 B의 어떤 조상의 부모인 경우이다.

Bityslav는 사진에 가족 구성원이 최대한 많이 나오기를 원한다. 사진에 담길 수 있는 사람의 최대 수는 얼마인가?

입력

첫 줄에 가족 구성원의 수 nn (2≤n≤300 0002 \le n \le 300\,000)이 주어진다.

둘째 줄에는 정수 n−1n-1개 p_2,p_3,…,p_np\_2, p\_3, \ldots, p\_n (1≤p_i≤n1 \le p\_i \le n, 2 이상 nn 이하인 모든 ii에 대해 p_i≠ip\_i \ne i)이 주어진다. 여기서 p_ip\_i는 ii번째 가족 구성원의 부모 번호이다. 족보 트리에는 사이클이 없다. 즉, 누구도 자기 자신의 조상이 아니다.

출력

사진에 담을 수 있는 가족 구성원 수의 최댓값을 정수 하나로 출력한다. 이는 주어진 제약을 지키면서 얻을 수 있는 최대 인원이다.

힌트

다음 그림은 Bitian 가족의 족보 트리이다. 최적의 사진 중 하나는 7, 6, 8, 1, 2, 5, 3 순서로 구성원을 담는다. 이 모든 구성원을 한 사진에 담는 것은 불가능하다는 것을 보일 수 있다.

예제1

  1. 예제 1

    입력
    8
    5 5 5 1 1 6 7
    
    예상 출력
    7