호텔 배정
시간 제한2초메모리 제한1024 MB
트리 모양으로 연결된 N개의 호텔 중 서로 다른 K개를 골라, 고른 호텔들 사이 거리의 합이 최대가 되는 값을 구합니다.
문제
경곽 마을은 개의 호텔과 개의 길로 이루어져 있다. 길 하나는 서로 다른 두 호텔을 잇고, 임의의 두 호텔은 길만 따라 오갈 수 있다. 즉, 경곽 마을은 트리 구조이다. 서로 다른 두 호텔 사이의 거리는 한 호텔에서 다른 호텔로 가는 데 지나야 하는 길 개수의 최솟값이다.
어느 날, 명의 경기과고 학생이 경곽 마을로 수학여행을 왔다. 경기과고 학생들은 서로 사이가 좋지 않아서, 수학여행 총책임자 성호는 명의 학생을 서로 다른 호텔에 배정하려 한다. 또 학생들을 최대한 멀리 떨어뜨리기 위해, 배정된 개 호텔 중 서로 다른 두 호텔을 고르는 모든 경우의 거리 합을 최대화하려 한다.
구체적으로 를 번 학생과 번 학생에게 배정된 호텔 사이의 거리라 하자. 를 최대화해야 한다. 성호를 도와 이 값의 최댓값을 구하자.
입력
첫째 줄에 두 정수 과 가 주어진다.
이후 개의 줄에 길로 연결된 두 호텔의 번호를 나타내는 정수 , 가 주어진다.
출력
문제의 정답을 첫 줄에 출력한다.
제한
- 마을은 트리 구조를 이룬다.