Преступная сеть
시간 제한2초메모리 제한1024 MB
가중치가 있는 루트 트리에서 간선 시간과 각 노드의 값을 고려해, 시간 T 안에 도달할 수 있는 값의 합이 최대가 되도록 시작 노드를 정한다.
문제
Оказалось, что текущее дело сильно интереснее, чем казалось Бенуа Бланку в начале --- вовлечен крупнейший клан мафии города. К счастью, в этот раз мафия не связана с преступником, а сама пострадала от его действий, поэтому детективу необходимо наладить с ними сотрудничество.
Известно, что кланом управляют самых важных ее членов, между которыми есть четкая иерархия в виде подвешенного дерева. Во главе клана стоит лидер под номером , а у каждого из оставшихся члена управления есть свой непосредственный босс: босс члена номер имеет номер .
Помимо этого, у -го из людей из руководства есть рядовых <<шестерок>> в непосредственном подчинении (множества <<шестерок>> разных членов руководства не пересекаются).
Прямо сейчас Бланку нужно срочно передать важное сообщение, которое должно дойти до как можно большего числа людей, состоящих в клане. Известно, что как только человек получает сообщение, он передает его всем своим непосредственным подчиненным. <<Шестерки>> получают сообщение от своего руководителя моментально, а член руководства номер получает сообщение от своего босса за минут.
Время поджимает, поэтому у Бенуа Бланка есть ровно минут, и всего лишь один звонок любому из членов руководства. Помогите ему выбрать, кому следует позвонить, чтобы за минут сообщение достигло как можно большего числа людей.
입력
В первой строке через пробел даны два целых числа и --- количество людей в руководстве и ограничение на время распространения сообщения (; ).
В следующей строке через пробел перечислены целые числа , \ldots, --- номера непосредственных боссов членов руководства с номерами от до (). Гарантируется, что иерархия представляет собой дерево, подвешенное за вершину .
В третьей строке ввода через пробел перечислены целые числа , \ldots, --- время, необходимое, чтобы сообщение дошло до соответствующего члена руководства от его непосредственного босса ().
В последней стороке в том же формате перечислены целых чисел --- количество <<шестерок>> у каждого члена руководства ().
출력
Выведите через пробел два целых числа --- номер человека из руководства, которому Бенуа следует позвонить, и суммарное число людей, которые получат сообщение за минут.
Если оптимальных ответов несколько, выведите любой из них.
힌트
В первом примере следует звонить главе клана. За минут сообщения достигнут его, члена руководства номер , и еще их <<шестерок>>, то есть всего человек.
Во втором примере член клана с самым большим количеством <<шестерок>> () вообще не успеет получить сообщение за минут, если не звонить ему напрямую, а человек с <<шестерок>> не успеет получить сообщение, если звонить главе клана. Оптимальный ответ достигается, если звонить руководителю номер : тогда сообщение получит он, двое его подчиненных ( и ) и еще их <<шестерок>>, всего человека.