#471. 前哨补给的最后一波

前哨补给的最后一波

前哨补给的最后一波

题目描述

前哨补给队正沿着指挥链向外扩散,每个补给节点都会把货箱分给左右分支再继续下发。统筹官记录了各节点的编号、现存货箱数量以及左右分支的去向。他关心两件事:补给链最远能延伸到第几层,以及那一层一共握有多少货箱,好安排最终一波运输机护航。

请根据指挥链描述,计算最外层的层数(以入口为第 00 层)和该层节点持有的货箱总数。

输入格式

  • 第一行一个整数 nn,表示补给节点数量。
  • 第二行一个整数 rr,表示入口节点编号。
  • 接下来 nn 行,每行包含四个整数 id cargo left right,代表节点编号、当前货箱数量、左分支指向、右分支指向。若某侧没有分支则以 0 表示。
  • 输入保证 id 互不相同,并覆盖 1..n1..n 的所有编号。

输出格式

输出两个整数,分别为最外层的层数以及该层所有节点的货箱和。

输入输出样例 #1

输入 #1

6
1
1 5 2 3
2 4 4 0
3 6 5 6
4 3 0 0
5 2 0 0
6 7 0 0

输出 #1

2 12

说明/提示

  • 对于 100%100\% 的数据,1n2×1051 \le n \le 2 \times 10^5109cargo109-10^9 \le \text{cargo} \le 10^9
  • 最外层定义为从入口出发,沿着通路可以到达的最大层号。