#XB202403. 插排串联

插排串联

题目说明

众所周知,插排的额定功率是有限的。一旦插排同时为多个高能耗电器供电而逾越了功率限制,就可能造成不可预料的后果。因此,在布置电路时,我们应确保每个插排的实际功率不超过其功率限制。

然而,合理规划插排使用并非易事,尤其在不幸只提供了一个插座的实验室里。不妨考虑实验室里的插座、插排、电器连成了一棵 n+1n+1 个节点的有根树结构,节点编号依次为 0∼n0 \sim n,其中树根 00 号节点表示实验室墙上的插座(该插座的限制功率为固定的 2200W2200\text W),所有的叶子节点是电器,其余节点是插排。每个电器有其运行功率,每个插排有其限制功率。插座或插排的子节点既可能包含叶子节点,代表其为相应电器直接供电,也可能包含非叶子节点,代表其与相应插排串联为后续电器间接供电;因此,插座或插排的实际功率等于其子树中,所有叶子节点(电器)的运行功率之和。如果有任何插座、插排的实际功率超过了其限制功率,则认为是“违规用电”。

遗憾的是,电路排线已经确定,并且显然不方便改变插座和电器的固有位置。唯一能做的是在不改变现有树形结构的前提下,交换两个插排的位置。换言之,交换两个节点的限制功率。该操作允许执行任意(或零)次。

实验室的安全负责人想让你写一个程序判断是否可以通过任意(或零)次上述操作,使实验室的电路没有任何违规用电的情况。

输入格式

第一行包含一个整数 n (1≤n≤105)n \ (1 \le n \le 10^5),表示除 00 号根节点外树的节点数(插排和电器的总数)。

接下来 nn 行,其中第 ii 行包含两个整数 fi,ai (0≤fi<i, 0≤ai≤109)f_i, a_i \ (0 \le f_i < i, \ 0 \le a_i \le 10^9),表示 ii 号节点的父节点为 fif_i 号节点,且如果 ii 号节点为叶子节点,则相应电器的运行功率为 aiWa_i \text W,否则相应插排的限制功率为 aiWa_i \text W。

输出格式

在一行内输出“YES”或“NO”(本题严格区分大小写),表示能否使实验室的电路没有任何违规用电的情况。

样例

5
0 500
1 700
1 400
2 100
2 200
YES
5
0 500
1 700
1 400
2 100
2 300
NO

提示

第一个样例所给树形结构如下图所示:

容易发现,交换 11 号节点和 22 号节点的插排,即符合题目要求。