만드는 중입니다

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

승차권 구매

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

요약
각 도시에서 루트 SZ까지 가는 최소 차표 비용을 구합니다. v에서 조상 a로 가는 차표는 거리 d가 l_v 이하여야 하며, 비용은 d*p_v+q_v입니다.
난이도

어려움10점 중 8점

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

문제

이번 여름 NOI가 SZ시에서 30번째 생일을 맞는다. 전국 nn개 도시의 OI 참가자들이 축하 행사에 참여하려고 SZ시에 모인다.

전국의 nn개 도시는 SZ시를 루트로 하는 트리를 이룬다. 각 도시는 도로로 부모 도시와 연결되어 있다. 설명을 간단히 하려고 nn개 도시에 1부터 nn까지 서로 다른 번호를 붙였다. SZ시의 번호는 1이다. SZ시가 아닌 도시 vv의 부모는 fvf_v이며, 둘을 잇는 도로의 길이는 svs_v이다.

도시 vv에서 SZ시까지 가는 방법은 다음과 같다. vv의 조상 aa를 골라 승차권을 사고 대중교통으로 aa시까지 간다. 그다음 aa의 조상 bb를 골라 승차권을 사서 그곳까지 간다. SZ시에 도착할 때까지 이 과정을 반복한다.

각 도시 vv에는 대중교통의 거리 제한 lvl_v가 있다. vv의 조상 aa에 대해, vv에서 aa까지 도로 길이의 합이 lvl_v를 넘지 않는 경우에만 승차권 한 장으로 vv에서 aa까지 바로 갈 수 있다. 또한 각 도시 vv에는 음이 아닌 정수 pvp_v와 qvq_v가 주어진다. vv에서 aa까지 도로 길이의 합이 dd이면, 이 구간의 승차권 요금은 d⋅pv+qvd \cdot p_v + q_v이다.

각 OI 참가자는 가장 적은 총 요금으로 SZ시에 도착하려고 한다. 각 도시에서 SZ시까지 가는 데 필요한 최소 총 요금을 구하라.

입력

첫 줄에는 음이 아닌 정수 nn과 tt가 주어진다. 각각 도시의 수와 테스트 케이스의 종류를 나타낸다.

2번째 줄부터 nn번째 줄까지 SZ시가 아닌 도시를 설명한다. vv번째 줄에는 음이 아닌 정수 fvf_v, svs_v, pvp_v, qvq_v, lvl_v가 순서대로 주어진다. 각각 부모 도시, 부모와의 도로 길이, 승차권 요금 매개변수, 거리 제한을 뜻한다. 입력에는 번호 1인 SZ시가 포함되지 않는다. 2번째 줄은 2번 도시, 3번째 줄은 3번 도시에 대응하며, nn번째 줄까지 이어진다.

출력

n−1n-1개의 줄을 출력한다. vv번째 줄에는 도시 v+1v+1에서 SZ시까지 가는 최소 총 승차권 요금을 정수 하나로 출력한다. SZ시의 답은 출력하지 않는다.

제한

모든 테스트 케이스는 다음을 만족한다.

  • 0≤pv≤1060 \le p_v \le 10^6, 0≤qv≤10120 \le q_v \le 10^{12}
  • 1≤fv<v1 \le f_v < v
  • 0<sv≤lv≤2×10110 < s_v \le l_v \le 2 \times 10^{11}
  • 임의의 도시에서 SZ시까지의 총 거리는 2×10112 \times 10^{11}을 넘지 않는다.
  • 1≤n≤2000001 \le n \le 200000

입력값 tt는 테스트 케이스의 종류를 나타내며, 0≤t<40 \le t < 4이다.

  • t=0t=0 또는 t=2t=2이면 모든 vv에 대해 fv=v−1f_v = v-1이다. 도시들이 SZ시를 한쪽 끝으로 하는 사슬을 이룬다.
  • t=0t=0 또는 t=1t=1이면 모든 vv에 대해 lv=2×1011l_v = 2 \times 10^{11}이다. 거리 제한이 없으므로 모든 도시에서 모든 조상으로 바로 갈 수 있다.
  • t=3t=3이면 별도의 특별한 조건이 없다.

예제1

  1. 예제 1

    입력
    7 3
    1 2 20 0 3
    1 5 10 100 5
    2 4 10 10 10
    2 9 1 100 10
    3 5 20 100 10
    4 4 20 0 10
    
    예상 출력
    40
    150
    70
    149
    300
    150