Problem Statement
NOTE: This problem is the same as Treason with different constraints.
You are given a connected graph with nodes and
edges.
Each node in your graph represents a biome in Minecraft. There are many biomes, and lots of them represent different seasons. We have simplified it such that there are only four seasons.
Each node in your graph has a single season associated with it (a number from to
).
Determine the longest distance between the two nodes with different seasons.
Input Format
Your first line will contain a single integer .
Your next line will contain
space-separated integers, the
integer represents the season of the
node.
Your next
lines will contain two integers each,
and
denoting that
has an undirected edge to
.
You are guaranteed these edges will form a connected graph.
Output Format
Output a single integer, the longest distance between two trees of different colour.
Constraints
- You are guaranteed there are no repeated edges.
- You are guaranteed the edges will form a connected graph.
- You are guaranteed at least two nodes will have different colours.
Sample Cases
Input 1
6
1 2 1 2 1 1
0 1
1 2
1 3
2 4
4 5
Output 1
4
Here nodes and
have different seasons - season
and season
respectively - and are distance
apart. This is the longest distance between any two nodes of different seasons.
Input 2
10
3 4 4 4 4 1 1 2 3 4
2 3
2 8
3 5
5 4
3 6
6 0
3 1
6 7
5 9
Output 2
4
Comments