GCD Harmony
시간 제한4초메모리 제한1024 MB
트리의 각 노드에 새 양의 정숫값을 부여해 모든 인접한 두 노드의 최대공약수가 1보다 크도록 하면서, 새 값들의 합을 최소로 만든다.
문제
Consider a tree with undirected edges, where each node has an integer value. Adjacent nodes are said to be GCD-harmonic if the greatest common divisor (GCD) of their values is strictly greater than .
You can modify the value of any tree node to any positive integer. The cost of this operation is equal to the new node value, regardless of the node's original value. You can change as many node values as needed, and node values do not need to be unique.
What is the minimum total cost to make every pair of adjacent nodes in the tree GCD-harmonic?
입력
The first line of input contains a single integer (), which is the number of nodes in the tree. Tree nodes are numbered from to .
Each of the next lines contains an integer (). These are the initial values of the nodes (which are not guaranteed to be unique), in node number order.
Each of the next lines contains two integers and (), indicating a tree edge between nodes and . It is guaranteed that these edges form a tree.
출력
Output a single integer, which is the minimum total cost to make every pair of adjacent nodes in the tree GCD-harmonic.