小杨有⼀棵包含 n 个节点的树,这棵树上的任意⼀个节点要么是白色,要么是黑色。
小杨想知道相距最远的一对不同颜色节点的距离是多少。
第一行包含⼀个正整数 n,代表树的节点数。
第二行包含 n 个非负整数 a1,a2,⋯,an(对于所有的 1≤i≤n,均有 ai 等于 0 或 1),其中如果 ai=0,则节点 i 的颜色为白色;如果 ai=1,则节点 i 的颜色为黑色。
之后 (n−1) 行,每行包含两个正整数 xi,yi,代表存在一条连接节点 xi 和 yi 的边。
保证输入的树中存在不同颜色的点。
输出⼀个整数,代表相距最远的一对不同颜色节点的距离。
5 0 1 0 1 0 1 2 1 3 3 4 3 5
3
相距最远的不同颜色的一对节点为节点 2 和 5。
本题采用捆绑测试。
| 子任务编号 | 得分 | n | ai | 特殊条件 |
|---|---|---|---|---|
| 1 | 30 | ≤105 | 0≤ai≤1 | 树的形态为一条链 |
| 2 | 30 | ≤103 | 0≤ai≤1 | |
| 3 | 40 | ≤105 | 0≤ai≤1 |
对于全部数据,保证有 1≤n≤105,0≤ai≤1。