atcoder#ARC083C. [ARC083E] Bichrome Tree
[ARC083E] Bichrome Tree
Score : points
Problem Statement
We have a tree with vertices. Vertex is the root of the tree, and the parent of Vertex () is Vertex .
To each vertex in the tree, Snuke will allocate a color, either black or white, and a non-negative integer weight.
Snuke has a favorite integer sequence, , so he wants to allocate colors and weights so that the following condition is satisfied for all .
- The total weight of the vertices with the same color as among the vertices contained in the subtree whose root is , is .
Here, the subtree whose root is is the tree consisting of Vertex and all of its descendants.
Determine whether it is possible to allocate colors and weights in this way.
Constraints
Inputs
Input is given from Standard Input in the following format:
Outputs
If it is possible to allocate colors and weights to the vertices so that the condition is satisfied, print POSSIBLE
; otherwise, print IMPOSSIBLE
.
3
1 1
4 3 2
POSSIBLE
For example, the following allocation satisfies the condition:
- Set the color of Vertex to white and its weight to .
- Set the color of Vertex to black and its weight to .
- Set the color of Vertex to white and its weight to .
There are also other possible allocations.
3
1 2
1 2 3
IMPOSSIBLE
If the same color is allocated to Vertex and Vertex , Vertex cannot be allocated a non-negative weight.
If different colors are allocated to Vertex and , no matter which color is allocated to Vertex , it cannot be allocated a non-negative weight.
Thus, there exists no allocation of colors and weights that satisfies the condition.
8
1 1 1 3 4 5 5
4 1 6 2 2 1 3 3
POSSIBLE
1
0
POSSIBLE