C - Cleaning Editorial /

Time Limit: 2 sec / Memory Limit: 256 MiB

配点 : 700700

問題文

NN 頂点からなる木があり、頂点には 11 から NN の番号がついています。 また、N1N-1 本の辺の内、ii 番目の辺は頂点 aia_i と頂点 bib_i を結んでいます。

今、各頂点 ii には AiA_i 個の石が置いてあります。 以下の操作を繰り返して、全ての石を取り除くことができるか判定してください。

  • 相異なる 22 つの葉を一組選ぶ。そして、その 22 頂点間のパス上にある頂点全てからちょうど 11 つ石を取り除く。
    ただし、葉とは木の頂点で次数が 11 の頂点を指し、選んだ葉自体もパス上の頂点として考える。

石が置かれていない頂点がパス上にあるときは、その操作を行えないことに注意してください。

制約

  • 2N1052 ≦ N ≦ 10^5
  • 1ai,biN1 ≦ a_i,b_i ≦ N
  • 0Ai1090 ≦ A_i ≦ 10^9
  • 与えられるグラフは木である。

入力

入力は以下の形式で標準入力から与えられる。

NN
A1A_1 A2A_2ANA_N
a1a_1 b1b_1
:
aN1a_{N-1} bN1b_{N-1}

出力

全ての石を取り除くことができるなら YES を、そうでないなら NO を出力せよ。


入力例 1Copy

Copy
5
1 2 1 1 2
2 4
5 2
3 2
1 3

出力例 1Copy

Copy
YES

以下のようにすれば、すべての石を取り除くことができます。

  • 葉として 4455 を選ぶ。このとき、44 以外の頂点に石が 11 個残る。
  • 葉として 1155 を選ぶ。このとき、全ての頂点から石がなくなる。

入力例 2Copy

Copy
3
1 2 1
1 2
2 3

出力例 2Copy

Copy
NO

入力例 3Copy

Copy
6
3 2 2 2 2 2
1 2
2 3
1 4
1 5
4 6

出力例 3Copy

Copy
YES

Score : 700700 points

Problem Statement

There is a tree with NN vertices, numbered 11 through NN. The ii-th of the N1N-1 edges connects vertices aia_i and bib_i.

Currently, there are AiA_i stones placed on vertex ii. Determine whether it is possible to remove all the stones from the vertices by repeatedly performing the following operation:

  • Select a pair of different leaves. Then, remove exactly one stone from every vertex on the path between those two vertices. Here, a leaf is a vertex of the tree whose degree is 11, and the selected leaves themselves are also considered as vertices on the path connecting them.

Note that the operation cannot be performed if there is a vertex with no stone on the path.

Constraints

  • 2N1052 ≦ N ≦ 10^5
  • 1ai,biN1 ≦ a_i,b_i ≦ N
  • 0Ai1090 ≦ A_i ≦ 10^9
  • The given graph is a tree.

Input

The input is given from Standard Input in the following format:

NN
A1A_1 A2A_2ANA_N
a1a_1 b1b_1
:
aN1a_{N-1} bN1b_{N-1}

Output

If it is possible to remove all the stones from the vertices, print YES. Otherwise, print NO.


Sample Input 1Copy

Copy
5
1 2 1 1 2
2 4
5 2
3 2
1 3

Sample Output 1Copy

Copy
YES

All the stones can be removed, as follows:

  • Select vertices 44 and 55. Then, there is one stone remaining on each vertex except 44.
  • Select vertices 11 and 55. Then, there is no stone on any vertex.

Sample Input 2Copy

Copy
3
1 2 1
1 2
2 3

Sample Output 2Copy

Copy
NO

Sample Input 3Copy

Copy
6
3 2 2 2 2 2
1 2
2 3
1 4
1 5
4 6

Sample Output 3Copy

Copy
YES


2025-07-21 (Mon)
08:58:49 +00:00