[ARC169A] Please Sign
题意翻译
给你一棵以 $1$ 为根的树,$i$ 号点的父亲是 $P_i$,点权是 $A_i$,重复 $10^{100}$ 次,从 $1\sim N$ 分别将 $i$ 号点的点权加进其父亲的点权。请判断 $1$ 号点点权的正负性。
题目描述
[problemUrl]: https://atcoder.jp/contests/arc169/tasks/arc169_a
長さ $ N $ の整数列 $ A=(A_1,A_2,\cdots,A_N) $,および長さ $ N-1 $ の整数列 $ P=(P_2,\cdots,P_N) $ が与えられます. $ P $ の添字が $ 2 $ から始まることに注意してください. また,$ 1\ \leq\ P_i\ <\ i $ が保証されます.
あなたは今から以下の操作を $ 10^{100} $ 回繰り返します.
- 各 $ i=2,\cdots,N $ について,この順に,$ A_{P_i} $ の値を $ A_{P_i}+A_{i} $ で置き換える.
すべての操作が終了したときの $ A_1 $ が 正, 負, $ 0 $ のいずれになるかを求めてください.
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる.
> $ N $ $ A_1 $ $ A_2 $ $ \cdots $ $ A_N $ $ P_2 $ $ \cdots $ $ P_N $
输出格式
すべての操作が終了したときの $ A_1 $ が正である場合 `+` を出力せよ. 負である場合 `-` を出力せよ. $ 0 $ である場合 `0` を出力せよ.
输入输出样例
输入样例 #1
4
1 -2 3 -4
1 2 3
输出样例 #1
-
输入样例 #2
3
0 1 -1
1 1
输出样例 #2
0
输入样例 #3
5
1 -1 1 -1 1
1 1 2 2
输出样例 #3
+
输入样例 #4
20
568273618 939017124 -32990462 -906026662 403558381 -811698210 56805591 0 436005733 -303345804 96409976 179069924 0 0 0 -626752087 569946496 0 0 0
1 1 1 4 4 6 7 2 2 3 3 8 13 14 9 9 15 18 19
输出样例 #4
+
说明
### 制約
- $ 2\ \leq\ N\ \leq\ 250000 $
- $ -10^9\ \leq\ A_i\ \leq\ 10^9 $
- $ 1\ \leq\ P_i\ <\ i $
- 入力される値はすべて整数.
### Sample Explanation 1
最初の数回の操作の結果を以下に示します. - $ 1 $ 回目の操作 - 操作前: $ A=(1,-2,3,-4) $ - $ i=2 $ について処理: $ A_1 $ の値を $ A_1+A_2=1+(-2)=-1 $ で置き換える. - $ i=3 $ について処理: $ A_2 $ の値を $ A_2+A_3=-2+3=1 $ で置き換える. - $ i=4 $ について処理: $ A_3 $ の値を $ A_3+A_4=3+(-4)=-1 $ で置き換える. - 操作後: $ A=(-1,1,-1,-4) $ - $ 2 $ 回目の操作後,$ A=(0,0,-5,-4) $ となる. - $ 3 $ 回目の操作後,$ A=(0,-5,-9,-4) $ となる. - $ 4 $ 回目の操作後,$ A=(-5,-14,-13,-4) $ となる. - $ \vdots $ 操作を $ 10^{100} $ 回行うと,$ A_1 $ は負になります. よって `-` を出力すべきです.