축제
시간 제한1.5초메모리 제한2048 MB
루트 있는 트리의 각 노드마다 서브트리 안의 간선 일부를 골라 어떤 단순 경로도 고른 간선을 K개 넘게 지나지 않도록 하면서 고른 간선 무게 합의 최댓값을 구한다.
문제
KOI 나라는 개의 도시로 이루어져 있으며, 각 도시는 의 번호가 매겨져 있다. 번 도시는 KOI 나라의 수도이다.
KOI 나라에는 개의 양방향 도로가 있으며, 인 모든 에 대해, 번 도시는 번 도시와 양방향 도로로 연결되어 있다. 이 때, 를 만족하며, 번 도시와 번 도시를 잇는 도로의 일일 이용량은 이다.
번 도시(수도)에서 번 도시를 잇는 단순 경로 위에 번 도시가 있다면, 우리는 번 도시가 번 도시를 통제한다고 정의한다. 번 도시의 관리 구역은, 번 도시가 통제하는 모든 도시의 집합으로 정의된다. 이에 따라, 번 도시의 관리 구역은 모든 도시이며, 인 모든 에 대해 i번 도시는 번 도시의 관리 구역에 속한다. KOI 나라의 도로망을 번 도시를 루트로 한 트리 구조로 보았을 때, 번 도시의 관리 구역은 번 도시의 서브트리와 일치한다.
KOI 나라의 각 도시에서 축제를 열려고 한다. 평소에는 모든 도로의 통행료가 무료이지만, 축제가 열릴 때에는 축제를 여는 비용을 충당하기 위해 일부 도로에서 통행료를 걷으려고 한다.
번 도시에서 축제가 열린다면, 도로 중 일부를 선택하여 통행료를 걷을 수 있다. 일일 통행료 수익은 통행료를 걷는 도로들의 일일 이용량의 합이다. 단, 사람들의 불만을 줄이기 위해 선택하는 도로들은 다음 두 조건을 만족해야 한다:
- KOI 나라의 임의의 두 도시를 잇는 단순 경로 위에는, 통행료를 걷는 도로가 개 이하로 존재해야 한다.
- 통행료를 걷는 도로가 잇는 두 도시가 모두 번 도시의 관리 구역에 있어야 한다.
인 모든 에 대해, 번 도시에서 축제가 열린다고 가정할 때 일일 통행료 수익의 최댓값을 구하는 프로그램을 작성하라.
입력
첫 번째 줄에 와 가 공백을 사이에 두고 주어진다.
이후 개의 줄이 주어진다. ()번째 줄에는 와 가 공백을 사이에 두고 주어진다.
출력
총 개의 줄을 출력한다. ()번째 줄에는 번 도시에서 축제가 열릴 때 일일 통행료 수익의 최댓값을 출력한다.
제한
- 주어지는 모든 수는 정수이다.
- 인 모든 에 대해
- 인 모든 에 대해