하나의 경로
시간 제한1초메모리 제한1024 MB
트리의 간선을 i개(0부터 K까지) 끊고 같은 가중치로 다른 두 정점 사이에 다시 이을 때, 만들 수 있는 그래프 가중치의 최댓값을 구합니다.
문제
정점이 개인 트리 가 주어진다. 각 간선에는 양의 정수 가중치가 있다.
이 트리에 대해 다음 연산을 수행할 수 있다.
- 그래프에서 간선을 하나 삭제한 뒤, 서로 다른 임의의 두 정점 사이에 새 간선을 추가한다. 새 간선의 가중치는 삭제한 간선의 가중치와 같아야 한다. 결과 그래프는 트리일 필요가 없다.
경로의 가중치는 경로에 포함된 간선 가중치의 합이다. 두 정점 와 의 거리는 에서 까지의 최단 경로, 즉 가중치가 최소인 경로의 가중치로 정의한다. 그러한 경로가 없으면 거리는 이다.
그래프의 가중치는 임의의 두 정점 사이 거리의 최댓값이다.
연산을 정확히 번 수행하여 얻을 수 있는 그래프의 가중치 최댓값을 에 대해 각각 구하라.
입력
첫 줄에 공백으로 구분된 두 정수 과 가 주어진다. 이어지는 개의 줄 중 번째 줄에는 공백으로 구분된 세 정수 , , 가 주어지며, 이는 서로 다른 두 정점 와 를 잇는 가중치 의 무방향 간선을 나타낸다. 간선들이 트리를 이룬다는 것은 보장된다.
출력
개의 정수를 공백으로 구분하여 출력한다. 번째 정수는 연산을 정확히 번 수행하여 얻을 수 있는 그래프의 가중치 최댓값이다.
제한
- ()
- ()