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

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

관리들

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

요약
상관이 서로 다른 부하 한 명을 고발해 면책되고 고발된 부하는 처형될 때 처형자 수의 최댓값을 구합니다.
난이도

보통10점 중 7점

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

문제

바이토니아(Bajtocja)에 요즘 좋지 않은 일이 벌어지고 있다. 자기 목숨에 대한 강박적인 두려움에 사로잡힌 비토그롬(Bitogrom) 왕이 권좌에 올랐다. 그는 즉위한 지 며칠 만에 자신에게 반역을 꾀했다는 의심을 받은 신하 다섯 명의 목을 베며 무자비한 본색을 드러냈다. 나라의 모든 관리는 자기 목숨을 걱정하게 되었다. 상관의 밀고 한 번이면 곧바로 처형으로 이어진다는 것을 그들은 잘 알고 있었다. 상황을 더 나쁘게 만든 것은, 밀고한 사람은 왕의 신임을 받는 인물이 되어 더 이상 처형될 위험이 없어진다는 사실이었다. 공포에 질린 관리 사회에서 이것은 자기 부하 중 한 명을 밀고할 충분한 동기가 되었다.

관리 사회의 이런 상황은 바이토솁스키(Bajtoszewski) 교수를 크게 걱정시켰다. 그는 이로 인해 국가 부문의 운영에 차질이 생길 것을 우려했다. 교수는 밀고의 결과로 최대 몇 명의 관리가 처형될 수 있는지 계산해 달라고 당신에게 부탁했다. 교수는 이 나라가 돌아가는 규칙을 자세히 설명해 주었다.

  • 나라의 nn명의 관리는 각각 [1,n][1, n] 범위의 정수인 고유한 식별 번호를 가진다.
  • 모든 상관은 자기 부하 전원의 번호보다 작은 번호를 가진다.
  • 모든 관리의 최고 상관은 번호 1을 가진 바이토니아의 총리이며, 따라서 그에게는 상관이 없다.
  • 각 관리는 자기 부하 중 최대 한 명만 밀고한다. 첫 밀고를 하고 나면 이미 왕의 신임을 받는 인물이 되기 때문이다.
  • 바이토니아에는 "내 부하의 부하는 곧 나의 부하"라는 원칙이 있다. 즉, 어떤 관리는 자신이 간접적으로만 상관인 관리도 밀고할 수 있다.

입력

첫 번째 줄에 관리의 수를 나타내는 정수 nn (1≤n≤1 000 0001 \le n \le 1\,000\,000)이 하나 주어진다. 두 번째 줄에는 n−1n-1개의 정수가 주어지며, 그중 ii번째 정수는 번호가 i+1i+1인 관리의 상관 번호를 나타낸다.

출력

첫 번째이자 유일한 줄에, 밀고의 결과로 처형될 수 있는 관리의 최대 수를 정수 하나로 출력한다.

힌트

예시 설명: 위 예시에서 관리 1번은 관리 3번을, 관리 2번은 관리 4번을 밀고한다. 따라서 두 명이 처형된다.

밀고를 한 관리는 왕의 신임을 얻어 더 이상 처형되지 않는다. 그러므로 한 관리는 부하를 밀고하거나(그리고 안전해지거나) 처형될 수 있을 뿐, 둘 다일 수는 없다.

예제3

  1. 예제 1

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

    입력
    1
    
    예상 출력
    0
    
  3. 예제 3

    입력
    2
    1
    
    예상 출력
    1