문제
IOI를 개최하는 파타야시는 경주대회인 IOR2011도 함께 개최하며 이를 위해 가장 적합한 경주코스를 찾고 있다.
파타야 인근 지역에는
각 고속도로는 양방향이며 서로 다른 두 개의 도시를 연결한다.
각 고속도로의 길이는 킬로미터 단위로 나타내며 정수 값이다.
그리고 임의의 두 도시는 직접 고속도로로 연결되지 않더라도 단 하나의 경로에 의해 연결된다.
즉, 같은 도시를 두 번 이상 방문하지 않고 한 도시에서 출발하여 다른 도시에 도착하는 방법은 유일하다.
IOR에 사용되는 경주코스는 출발 도시와 도착 도시가 서로 달라야 하며 길이는 정확하게
그리고 충돌을 방지하기 위해 한 고속도로를 두 번 이상 사용하지 않는다. (따라서 한 도시도 두 번 이상 방문하지 않는다.)
또한 교통체증을 줄이기 위해 되도록 가장 작은 수의 고속도로를 사용하여 경주코스를 구성하려고 한다.
다음의 파라미터를 받는
N – 도시의 수. 각 도시는0 번부터N-1 번까지 정수로 나타낸다.K – 경주코스의 길이.H – 각 고속도로를 나타내는 2 차원 배열. 고속도로i (0 ≤ i < N-1 )는 도시H[i][0] 와 도시H[i][1] 를 연결하는 도로이다.L – 고속도로의 길이를 나타내는 1 차원 배열. 고속도로i (0 ≤ i < N-1 )의 길이는L[i] 이다.
배열
당신이 작성한 함수는 길이가
입력
입력의 첫줄에 도시의 수
그 다음 줄부터
출력
출력은 한 줄로 이루어지는데, 길이가
만약 길이가
예제 #1
4 3
0 1 1
1 2 2
1 3 4
2

가능한 경주코스는 도시
이 코스의 총 길이는
이 코스가 최적의 코스이므로
예제 #2
3 3
0 1 1
1 2 1
-1
이 경우 가능한 경주코스가 없으므로
예제 #3
11 12
0 1 3
0 2 4
2 3 5
3 4 4
4 5 6
0 6 3
6 7 2
6 8 5
8 9 6
8 10 7
2
그 중 하나는 도시 6 에서 출발하여 도시 0 과 2 를 거쳐 도시 3 에 도착하는 코스이다.
또 다른 하나는 도시 10 에서 출발하여 도시 8 을 거쳐 도시 6 에 도착하는 코스이다.
두 코스 모두 길이가 12km 이지만 두 번째 코스는 2 개의 고속도로만 이용하며 이는 최적의 코스이다.
왜냐하면 한 개의 고속도로만 이용하는 코스가 없기 때문이다.
따라서