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

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

Преступная сеть

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

요약
가중치가 있는 루트 트리에서 간선 시간과 각 노드의 값을 고려해, 시간 T 안에 도달할 수 있는 값의 합이 최대가 되도록 시작 노드를 정한다.
난이도

보통10점 중 6점

유형
트리, DFS, 누적 합
정답자
아직 제출이 없습니다

문제

Оказалось, что текущее дело сильно интереснее, чем казалось Бенуа Бланку в начале --- вовлечен крупнейший клан мафии города. К счастью, в этот раз мафия не связана с преступником, а сама пострадала от его действий, поэтому детективу необходимо наладить с ними сотрудничество.

Известно, что кланом управляют nn самых важных ее членов, между которыми есть четкая иерархия в виде подвешенного дерева. Во главе клана стоит лидер под номером 11, а у каждого из оставшихся n−1n - 1 члена управления есть свой непосредственный босс: босс члена номер ii имеет номер p_ip\_i.

Помимо этого, у ii-го из nn людей из руководства есть a_ia\_i рядовых <<шестерок>> в непосредственном подчинении (множества <<шестерок>> разных членов руководства не пересекаются).

Прямо сейчас Бланку нужно срочно передать важное сообщение, которое должно дойти до как можно большего числа людей, состоящих в клане. Известно, что как только человек получает сообщение, он передает его всем своим непосредственным подчиненным. <<Шестерки>> получают сообщение от своего руководителя моментально, а член руководства номер ii получает сообщение от своего босса за t_it\_i минут.

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

입력

В первой строке через пробел даны два целых числа nn и TT --- количество людей в руководстве и ограничение на время распространения сообщения (1⩽n⩽1051 \leqslant n \leqslant 10^5; 0⩽T⩽1090 \leqslant T \leqslant 10^9).

В следующей строке через пробел перечислены целые числа p_2p\_2, \ldots, p_np\_n --- номера непосредственных боссов членов руководства с номерами от 22 до nn (1⩽p_i⩽n1 \leqslant p\_i \leqslant n). Гарантируется, что иерархия представляет собой дерево, подвешенное за вершину 11.

В третьей строке ввода через пробел перечислены целые числа t_2t\_2, \ldots, t_nt\_n --- время, необходимое, чтобы сообщение дошло до соответствующего члена руководства от его непосредственного босса (0⩽t_i⩽1090 \leqslant t\_i \leqslant 10^9).

В последней стороке в том же формате перечислены nn целых чисел a_ia\_i --- количество <<шестерок>> у каждого члена руководства (0⩽a_i⩽1090 \leqslant a\_i \leqslant 10^9).

출력

Выведите через пробел два целых числа --- номер человека из руководства, которому Бенуа следует позвонить, и суммарное число людей, которые получат сообщение за TT минут.

Если оптимальных ответов несколько, выведите любой из них.

힌트

В первом примере следует звонить главе клана. За 1010 минут сообщения достигнут его, члена руководства номер 22, и еще 100+49100 + 49 их <<шестерок>>, то есть всего 151151 человек.

Во втором примере член клана с самым большим количеством <<шестерок>> (11001100) вообще не успеет получить сообщение за 1515 минут, если не звонить ему напрямую, а человек с 10001000 <<шестерок>> не успеет получить сообщение, если звонить главе клана. Оптимальный ответ достигается, если звонить руководителю номер 22: тогда сообщение получит он, двое его подчиненных (33 и 44) и еще 100+50+1000100 + 50 + 1000 их <<шестерок>>, всего 11531153 человека.

예제2

  1. 예제 1

    입력
    3 10
    1 1
    9 11
    100 49 51
    
    예상 출력
    1 151
    
  2. 예제 2

    입력
    7 15
    1 1 2 2 3 3
    9 8 6 9 16 5
    400 100 200 50 1000 1100 300
    
    예상 출력
    2 1153