아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

K-value

시간 제한6초메모리 제한256 MB

요약
가중치 트리에서 간선 수가 L개 이상 R개 이하인 단순 경로 중, 간선 가중치를 정렬했을 때 (r/k의 내림)+1번째 값인 k-value가 최소인 경로를 찾는다.
난이도

어려움10점 중 8점

유형
이분 탐색, 트리, DFS, 그리디
정답자
아직 제출이 없습니다

문제

도시가 NN개 있는 나라가 있다. 모든 도시는 가중치가 있는 도로로 연결되어 있으며, 임의의 두 도시 사이에는 단순 경로가 정확히 하나 존재한다.

도로를 LL개 이상 RR개 이하로 포함하는 모든 단순 경로를 생각하자. 그중 kk-value가 최소인 경로를 찾아야 한다.

단순 경로의 kk-value는 다음과 같이 계산한다. 경로에 있는 도로의 수를 rr이라 하자. 경로에 있는 rr개 도로의 가중치를 비내림차순으로 정렬한다. kk-value는 이 목록의 (⌊r/k⌋+1\lfloor r / k \rfloor + 1)번째 원소이다.

입력

첫째 줄에 정수 NN이 주어진다 (1≤N≤1051 \le N \le 10^5). 다음 (N−1)(N - 1)개 줄에는 도로로 연결된 두 도시와 그 도로의 가중치를 나타내는 세 정수 aa, bb, ww가 주어진다 (1≤a,b≤N1 \le a, b \le N, a≠ba \ne b, 1≤w≤1091 \le w \le 10^9).

그다음 줄에는 세 정수 kk, LL, RR이 주어진다 (1<k<501 < k < 50, 1≤L≤R≤501 \le L \le R \le 50).

출력

도로를 LL개 이상 RR개 이하로 포함하는 경로의 kk-value 중 최솟값을 출력한다. 그러한 경로가 없으면 −1-1을 출력한다.

예제1

  1. 예제 1

    입력
    5
    1 2 1
    2 3 2
    3 4 3
    4 5 4
    2 3 4
    
    예상 출력
    2