Codeforces Round 592 (Div. 2)
D
Paint the Tree
Codeforces
1800
原题
← CE →
翻译中…

You are given a tree consisting of $n$ vertices. A tree is an undirected connected acyclic graph.

翻译中…

image Example of a tree.

翻译中…

You have to paint each vertex into one of three colors. For each vertex, you know the cost of painting it in every color.

翻译中…

You have to paint the vertices so that any path consisting of exactly three distinct vertices does not contain any vertices with equal colors. In other words, let's consider all triples $(x, y, z)$ such that $x \neq y, y \neq z, x \neq z$, $x$ is connected by an edge with $y$, and $y$ is connected by an edge with $z$. The colours of $x$, $y$ and $z$ should be pairwise distinct. Let's call a painting which meets this condition good.

翻译中…

You have to calculate the minimum cost of a good painting and find one of the optimal paintings. If there is no good painting, report about it.

翻译中…

Input

翻译中…

The first line contains one integer $n$ $(3 \le n \le 100\,000)$ — the number of vertices.

翻译中…

The second line contains a sequence of integers $c_{1, 1}, c_{1, 2}, \dots, c_{1, n}$ $(1 \le c_{1, i} \le 10^{9})$, where $c_{1, i}$ is the cost of painting the $i$-th vertex into the first color.

翻译中…

The third line contains a sequence of integers $c_{2, 1}, c_{2, 2}, \dots, c_{2, n}$ $(1 \le c_{2, i} \le 10^{9})$, where $c_{2, i}$ is the cost of painting the $i$-th vertex into the second color.

翻译中…

The fourth line contains a sequence of integers $c_{3, 1}, c_{3, 2}, \dots, c_{3, n}$ $(1 \le c_{3, i} \le 10^{9})$, where $c_{3, i}$ is the cost of painting the $i$-th vertex into the third color.

翻译中…

Then $(n - 1)$ lines follow, each containing two integers $u_j$ and $v_j$ $(1 \le u_j, v_j \le n, u_j \neq v_j)$ — the numbers of vertices connected by the $j$-th undirected edge. It is guaranteed that these edges denote a tree.

翻译中…

Output

翻译中…

If there is no good painting, print $-1$.

翻译中…

Otherwise, print the minimum cost of a good painting in the first line. In the second line print $n$ integers $b_1, b_2, \dots, b_n$ $(1 \le b_i \le 3)$, where the $i$-th integer should denote the color of the $i$-th vertex. If there are multiple good paintings with minimum cost, print any of them.

翻译中…

Note

翻译中…

All vertices should be painted in different colors in the first example. The optimal way to do it is to paint the first vertex into color $1$, the second vertex — into color $3$, and the third vertex — into color $2$. The cost of this painting is $3 + 2 + 1 = 6$.

翻译中…

样例

Input #1
3
3 2 3
4 3 2
3 1 3
1 2
2 3
Output #1
6
1 3 2
InputCopy OutputCopy
Input #2
5
3 4 2 1 2
4 2 1 5 4
5 3 2 1 1
1 2
3 2
4 3
5 3
Output #2
-1
InputCopy OutputCopy
Input #3
5
3 4 2 1 2
4 2 1 5 4
5 3 2 1 1
1 2
3 2
4 3
5 4
Output #3
9
1 3 2 1 3
InputCopy OutputCopy
题目信息
题号
1244D
时间限制
3 s
内存限制
256 MB
标签
暴力
构造
动态规划
图论
模拟
树

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。