국지
시간 제한1초메모리 제한1024 MB
나무 구조의 도시들을 연결된 나라로 나누고, 각 나라의 전투력 합이 U를 넘지 않게 하면서 (U - 나라의 전투력)의 제곱 합을 최소화합니다.
전투력 분배
당신은 세계적으로 인기 있는 전쟁 시뮬레이션 게임 shake!를 플레이하고 있다. 게임에는 1번부터 번까지 번호가 매겨진 개의 도시가 있고, 각 도시는 전투력을 가진다. 또한 서로 다른 두 도시를 양방향으로 잇는 개의 도로가 있어서, 도로를 따라 임의의 도시 간 이동이 가능하다.
당신은 여러 국가를 건국하여 전쟁 시뮬레이션을 진행하려고 한다. 각 국가는 적어도 하나의 도시를 포함해야 하며, 각 도시는 정확히 하나의 국가에 속해야 한다. 또한 같은 국가에 속한 임의의 두 도시는 다른 국가의 도시를 거치지 않고 도로를 따라 이동할 수 있어야 한다.
국가가 지나치게 강하면 전쟁에서 쉽게 이기게 되어 게임의 재미가 떨어진다. 그래서 전투력을 균형 있게 나누는 것이 중요하다. 국가의 전투력은 그 국가에 포함된 모든 도시의 전투력의 합이다. 당신은 전투력 상한 를 정했다. 각 국가의 전투력은 를 넘지 않아야 하며, ()개의 국가가 전투력 를 가질 때 이 최소가 되도록 나누는 것이 균형 잡힌 분배 방법이다. 이 기준에 따라 국가의 전투력을 균형 있게 분배하시오.
입력
첫 번째 줄에 도시의 수 이 주어진다. ()
두 번째 줄부터 개의 줄에 걸쳐 번 도시의 전투력 가 한 줄에 하나씩 주어진다. ()
이어서 개의 줄에 도로 정보가 주어진다. 각 줄에는 도로가 잇는 두 도시의 번호가 공백으로 구분되어 주어진다.
마지막 줄에 국가의 전투력 상한 가 주어진다. ()
출력
의 최솟값을 출력한다.