만드는 중입니다

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

물탱크 알바(Easy)

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

요약
용량이 있는 물탱크가 이진 트리로 연결되어 있을 때, 한 탱크에 m 단위의 물을 부어 완전히 채워지는 탱크 수의 최댓값을 구합니다.
난이도

보통10점 중 6점

유형
트리, DFS, 시뮬레이션
정답자
아직 제출이 없습니다

문제

이 문제는 물탱크 알바(Hard)의 하위 문제이며, 물탱크 알바(Hard)의 정답 코드를 제출하여 맞힐 수 있다.

잔나비 콘서트에 갈 돈을 마련하려고 창연이는 송도수자원공사에 취직했다.

송도수자원공사의 정수 시설은 물탱크 nn개와 물탱크를 잇는 수로 n−1n-1개로 이루어진다. 정수 시설은 11번 물탱크를 루트로 하는 이진 트리 구조이며, ii번 물탱크의 용량은 cic_i이다. 창연이는 임의의 물탱크 하나에 펌프를 연결해 mm의 물을 흘려보낼 수 있다.

왼쪽 그림은 11번 물탱크에 33의 물을 투입한 결과이고, 오른쪽 그림은 22번 물탱크에 33의 물을 투입한 결과이다.

각 물탱크에 흘러온 물은 다음과 같이 움직인다. 편의상 수로에는 용량이 없다고 가정한다.

  • 직접 아래로 연결된 물탱크 중 꽉 차지 않은 물탱크가 1개뿐이면, 흘러 들어온 물은 그 물탱크로 모두 흘러 내려간다.
  • 꽉 차지 않은 물탱크가 2개이면, 흘러 들어온 물은 절반씩 나뉘어 두 물탱크로 흘러 내려간다.
  • 꽉 차지 않은 물탱크가 없고 현재 물탱크가 꽉 차지 않았다면, 흘러 들어온 물은 현재 물탱크에 차오른다.
  • 꽉 차지 않은 물탱크가 없고 현재 물탱크도 꽉 찼다면, 물은 들어오지 않고 그대로 부모 물탱크로 넘쳐 올라간다.

송도수자원공사는 정수 능력에 비례하여 일당을 주고, 정수 시설의 정수 능력은 꽉 찬 물탱크 수에 비례한다.

입력

첫 번째 줄에는 두 정수 nn, mm이 공백으로 구분되어 주어진다.

두 번째 줄에는 nn개의 정수 c1,c2,…,cnc_1, c_2, \ldots, c_n이 공백으로 구분되어 주어진다.

세 번째 줄에는 n−1n-1개의 정수 p2,p3,…,pnp_2, p_3, \ldots, p_n이 공백으로 구분되어 주어진다. pip_i는 ii번 물탱크의 부모 물탱크 번호이다.

출력

임의의 물탱크 하나에 펌프를 연결해 mm의 물을 흘려보내서 꽉 채울 수 있는 물탱크 수의 최댓값을 출력한다.

제한

  • 2≤n≤1 0002 \le n \le 1\,000.
  • 1≤ci≤1061 \le c_i \le 10^6.
  • 1≤m≤c1+c2+⋯+cn≤1091 \le m \le c_1 + c_2 + \cdots + c_n \le 10^9.
  • 1≤pi≤i−11 \le p_i \le i-1.
  • 물탱크의 구조는 루트가 11인 이진 트리임이 보장된다.

예제1

  1. 예제 1

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