페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2136

[고등부] 2024 KOI 1차대회 대비 모의고사 (1주차)

삼국지
서브태스크
1초 1024MB

문제

1번부터 N번까지 번호가 매겨져 있는 N개의 도시는 각각 전투력을 갖고 있으며,

서로 다른 두 도시를 양방향으로 잇는 N-1개의 도로가 있어 도로를 따라 도시 간 이동이 가능하다.

각 도시들을 묶어 하나의 나라로 간주하여 위, 촉, 오, 세 국가를 만들어 전쟁 시뮬레이션을 진행하려고 한다.

각 국가는 적어도 하나의 도시를 포함해야 하며 각 도시는 정확히 하나의 국가에 포함되어야 한다.

또한, 다른 국가의 도시를 거치지 않으면서 도로를 따라 국가 내 임의의 도시 간 이동이 가능해야 한다.

어떤 국가가 지나치게 강력하여 쉽게 삼국을 통일하면 제갈량의 천하삼분지계가 실패하기에 전투력을 최대한 균형 있게 분배하는 것이 중요하다.

국가의 전투력은 국가에 포함된 모든 도시의 전투력의 합으로 정의된다.

고민 끝에 당신은 세 국가의 전투력을 각각 a,b,c라 할 때,

\left|a-b \right| + \left|b-c \right| + \left|c-a \right|를 최소로 하는 것이 전투력을 균형 있게 분배하는 방법이라고 결론 지었다.

삼국의 전투력을 균형 있게 분배하시오.


입력

첫째 줄에 도시의 수 N이 주어진다. (3\leq N \leq 200\,000)

둘째 줄부터 N개의 줄에 걸쳐, i번째 줄에는 i번 도시의 전투력이 양의 정수로 주어진다. 모든 도시의 전투력의 합은 10^9을 넘지 않는다.

그다음 줄부터 N-1개의 줄에 걸쳐 도로의 정보가 주어진다. 각 줄에 각 도로가 잇는 두 도시의 번호가 공백으로 구분되어 주어진다.


출력

첫째 줄에 \left|a-b \right| + \left|b-c \right| + \left|c-a \right|의 최솟값을 출력한다.


부분문제

번호 점수 조건
#110점

N \le 4

#220점

모든 도시는 최대 두 도시와 연결이 되어있다.

#330점

N \le 1\,000

#440점

추가 제한 없음


예제

10
3
2
1
1
6
3
2
1
2
2
2 9
10 4
5 1
3 7
6 9
7 2
9 1
2 10
8 2
6

1번, 6번, 9번 도시를 포함하는 국가와 5번 도시를 포함하는 국가와 나머지 도시를 모두 포함하는 국가를 구성하면 각 국가의 전투력은 8, 6, 9이다.

\left|8-6 \right| + \left|6-9 \right| + \left|9-8 \right| = 6이고 이보다 전투력을 균형 있게 분배할 수 없다.

로그인해야 코드를 작성할 수 있어요.