CF767C Garland

题目描述

新年时,Dima 做了一个梦,梦中他收到了一串神奇的彩灯。这串彩灯由若干个灯泡组成,其中一些灯泡两两之间由导线直接相连。Dima 记得,每两个灯泡都通过某些导线直接或间接地连通。此外,导线的数量恰好比灯泡的数量少 $1$。 这串彩灯有些特别:每个灯泡有自己的亮度,亮度取决于灯泡的温度。温度可以是正数、负数或零。Dima 有两个朋友,他决定把彩灯分成三份。Dima 想剪断两根不同的导线,使得整串彩灯断成三部分。每一部分的亮度之和(即灯泡温度之和)应当相等。同时,每一部分都不能为空,也就是说每部分至少包含一个灯泡。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF767C/c2b0d1858f505d34921dc11648298e7a84c2f7b5.png) 请帮助 Dima 找到一种合适的剪断方案,或者判断不存在这样的方案。 在检查彩灯时,Dima 用手提着其中一个灯泡。所以,除他手持的灯泡外,其余灯泡都通过某根导线悬挂。你需要输出两个灯泡的编号,表示 Dima 应该剪断这两个灯泡所悬挂的导线。显然,Dima 手里拿着的灯泡不能包括在答案中。

输入格式

第一行是一个整数 $n$($3\le n\le 10^6$),表示彩灯中灯泡的数量。 接下来有 $n$ 行。第 $i$ 行包含两个整数,分别为 $a_i$ 和 $t_i$,表示第 $i$ 个灯泡悬挂在编号为 $a_i$ 的灯泡上(如果没有则为 $0$),以及第 $i$ 个灯泡的温度 $t_i$($-100 \le t_i \le 100$)。灯泡的编号从 $1$ 到 $n$。

输出格式

如果不存在可行方案,输出 $-1$。 否则,输出两个整数,表示应当剪断这两个灯泡悬挂的导线。若有多组答案,输出任意一组即可。

说明/提示

下图给出了第一个样例的彩灯和剪断位置的示意图: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF767C/578d2b3356505b1b3987876ed70f57ef1ae0c5b0.png) 由 ChatGPT 5 翻译