Cleaning

AtCoder
IDagc010_c
Time2000ms
Memory256MB
Difficulty
There is a tree with $N$ vertices, numbered $1$ through $N$. The $i$\-th of the $N-1$ edges connects vertices $a_i$ and $b_i$. Currently, there are $A_i$ stones placed on vertex $i$. 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 $1$, 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 * $2 ≦ N ≦ 10^5$ * $1 ≦ a_i,b_i ≦ N$ * $0 ≦ A_i ≦ 10^9$ * The given graph is a tree. ## Input The input is given from Standard Input in the following format: $N$ $A_1$ $A_2$ … $A_N$ $a_1$ $b_1$ : $a_{N-1}$ $b_{N-1}$ [samples]
Samples
Input #1
5
1 2 1 1 2
2 4
5 2
3 2
1 3
Output #1
YES

All the stones can be removed, as follows:

*   Select vertices $4$ and $5$. Then, there is one stone remaining on each vertex except $4$.
*   Select vertices $1$ and $5$. Then, there is no stone on any vertex.
Input #2
3
1 2 1
1 2
2 3
Output #2
NO
Input #3
6
3 2 2 2 2 2
1 2
2 3
1 4
1 5
4 6
Output #3
YES
API Response (JSON)
{
  "problem": {
    "name": "Cleaning",
    "description": {
      "content": "There is a tree with $N$ vertices, numbered $1$ through $N$. The $i$\\-th of the $N-1$ edges connects vertices $a_i$ and $b_i$. Currently, there are $A_i$ stones placed on vertex $i$. Determine whether",
      "description_type": "Markdown"
    },
    "platform": "AtCoder",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 262144
    },
    "difficulty": "None",
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "agc010_c"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "There is a tree with $N$ vertices, numbered $1$ through $N$. The $i$\\-th of the $N-1$ edges connects vertices $a_i$ and $b_i$.\nCurrently, there are $A_i$ stones placed on vertex $i$. Determine whether...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments