만드는 중입니다

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

목초지에 비료 주기

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

요약
1번 목장에서 출발해 트리의 모든 목장을 한 번씩 방문하며, 목장마다 초당 a_i만큼 자라는 풀에 줄 비료의 최소 시간과 최소 양을 구합니다.
난이도

어려움10점 중 8점

유형
트리, DFS, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

목초지 NN개(2≤N≤2⋅1052 \le N \le 2\cdot 10^5)가 N−1N-1개의 도로로 연결되어 있고, 이 도로들은 트리를 이룬다. 각 도로를 건너는 데 1초가 걸린다. 모든 목초지의 풀은 처음에 0이며, ii번 목초지의 풀은 초당 aia_i(1≤ai≤1081\le a_i\le 10^8) 단위씩 자란다. 농부 존은 1번 목초지에서 출발해서 차를 몰고 다니며 모든 목초지에 비료를 줘야 한다. 풀이 xx 단위 자란 목초지를 방문하면 xx 단위의 비료가 필요하다. 목초지는 처음 방문할 때만 비료를 주면 되고, 비료를 주는 데는 시간이 걸리지 않는다.

입력에는 추가 매개변수 T∈{0,1}T\in \{0,1\}이 주어진다.

  • T=0T=0이면 존은 1번 목초지에서 끝나야 한다.
  • T=1T=1이면 존은 어느 목초지에서 끝나도 된다.

모든 목초지에 비료를 주는 데 걸리는 최소 시간과, 그 시간 안에 끝내는 데 필요한 비료의 최소량을 구하라.

입력

첫 줄에 NN과 TT가 주어진다. 이후 ii가 22부터 NN까지인 각 줄에는 pip_i와 aia_i가 주어지며, 이는 목초지 pip_i와 ii를 잇는 도로가 있다는 뜻이다. 1≤pi<i1\le p_i<i가 보장된다.

출력

최소 시간과 최소 비료량을 공백으로 구분하여 출력한다.

예제2

  1. 예제 1

    입력
    5 0
    1 1
    1 2
    3 1
    3 4
    
    예상 출력
    8 21
    
  2. 예제 2

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