출퇴근
시간 제한1초메모리 제한1024 MB
연결된 무방향 그래프에서 도로 가중치를 바꾸는 마법을 최대 K번 건물에서만 쓸 수 있을 때 A에서 B까지 가는 최소 시간을 구한다.
문제
윤이는 유니마을에 사는 주민이다. 유니마을은 번부터 번까지 번호가 붙은 개의 건물로 이루어져 있다. 윤이는 번 건물에 살고 있고, 번 건물에 있는 회사로 매일 출퇴근한다.
유니마을의 구조는 다음과 같다. 개의 건물을 잇는 개의 양방향 도로 가 있고, 도로를 적절한 순서로 이용하면 임의의 두 건물 사이를 이동할 수 있다. 도로 는 서로 다른 번 건물과 번 건물을 잇고, 를 지나는 데 만큼의 시간이 걸린다. 한 쌍의 건물을 직접 잇는 도로는 최대 하나이다.
그러던 어느 날 윤이는 자신이 마법을 쓰면 교통 상황을 바꿔서 각 도로를 지나는 데 드는 시간을 바꿀 수 있다는 것을 알게 되었다. 윤이는 마법을 최대 번 쓸 수 있는데, 마법을 번 사용하고 나면 모든 에 대해 도로 를 지나는 데 걸리는 시간이 가 된다. 윤이는 건물에 있을 때만 마법을 쓸 수 있고, 도로를 지나는 중에는 마법을 쓸 수 없다.
윤이는 마법을 적절히 활용해서 최단 시간으로 회사에 도착하려고 한다. 윤이를 도와 회사에 도착하는 데 필요한 최단 시간을 구하시오.
입력
입력의 첫 줄에 과 , 그리고 와 가 주어진다.
다음 개의 줄에 걸쳐 가 공백을 사이에 두고 주어진다.
다음 줄에 가 주어진다.
다음 개 줄 중 번째 줄에는 가 공백을 사이에 두고 주어진다.
출력
윤이가 마법을 적절히 활용했을 때 회사에 도착하는 데 걸리는 최단 시간을 출력한다.