AT_arc083_c [ARC083E] Bichrome Tree
Description
[problemUrl]: https://atcoder.jp/contests/arc083/tasks/arc083_c
$ N $ 頂点からなる木があります。頂点 $ 1 $ は木の根であり、頂点 $ i $ ($ 2\ ≦\ i\ ≦\ N $) の親は頂点 $ P_i $ です。
すぬけ君は、この木の各頂点に白または黒の色と非負整数の重みを割り当てることにしました。
すぬけ君にはお気に入りの数列 $ X_1,\ X_2,\ ...,\ X_N $ があります。そこで、色および重みの割り当てが、すべての $ v $ について以下の条件を満たすようにしたいと考えました。
- 頂点 $ v $ を根とする部分木に含まれる頂点のうち、頂点 $ v $ と同じ色であるものの重みの和は $ X_v $ である。
ここで、頂点 $ v $ を根とする部分木とは、頂点 $ v $ およびそのすべての子孫からなる木を指すものとします。
このような色および重みの割り当てが可能かどうか判定してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ P_2 $ $ P_3 $ $ ... $ $ P_N $ $ X_1 $ $ X_2 $ $ ... $ $ X_N $
Output Format
条件を満たす色および重みの割り当てが可能である場合 `POSSIBLE` と、不可能である場合 `IMPOSSIBLE` と出力せよ。
Explanation/Hint
### 制約
- $ 1\ ≦\ N\ ≦\ 1,000 $
- $ 1\ ≦\ P_i\ ≦\ i\ -\ 1 $
- $ 0\ ≦\ X_i\ ≦\ 5,000 $
### Sample Explanation 1
たとえば、以下のような色と重みの割り当ては条件を満たします。 - 頂点 $ 1 $ の色を白、重みを $ 2 $ とする。 - 頂点 $ 2 $ の色を黒、重みを $ 3 $ とする。 - 頂点 $ 3 $ の色を白、重みを $ 2 $ とする。 他にも条件を満たす割り当て方は存在します。
### Sample Explanation 2
頂点 $ 2 $ と頂点 $ 3 $ に同じ色を割り当てる場合、頂点 $ 2 $ に非負の重みを割り当てることができません。 頂点 $ 2 $ と頂点 $ 3 $ に異なる色を割り当てる場合、頂点 $ 1 $ にどちらの色を割り当てても、非負の重みを割り当てることができません。 よって、条件を満たす色および重みの割り当て方は存在しません。