익웜 바이러스
시간 제한1.5초메모리 제한1024 MB
PC 네트워크의 간선 전송 시간과 PC별 직접 감염 비용이 주어질 때, 직접 감염을 최대 K대까지만 써서 모든 PC를 감염시키는 최소 총 전송 시간을 구합니다.
문제
영과일 조직의 해커 오익준은 새로 개발한 바이러스 'IK-WARM'을 PC에 전송해 감염시킨 뒤, 이 바이러스가 네트워크의 모든 PC에 퍼지기를 바란다.
네트워크에는 PC가 대 있고, PC 사이의 데이터 전송에 걸리는 고유한 시간을 가진 네트워크 간선이 개 있는 양방향 그래프이다. 데이터를 주고받는 두 PC는 서로 다르며, 두 PC를 직접 잇는 데이터 전송 경로는 최대 한 개이다.
감염된 PC는 인접한 네트워크 간선을 통해 바이러스가 포함된 데이터를 보낼 수 있고, 바이러스가 포함된 데이터를 받은 PC는 즉시 감염된다.
오익준은 서로 다른 PC를 최대 번 해킹해서 바이러스가 포함된 데이터를 직접 보낼 수 있다. 번 PC에 데이터를 보내는 데 걸리는 시간은 이다.
수열 와 네트워크 정보가 주어졌을 때, 처음에 감염된 PC가 하나도 없는 네트워크의 모든 PC가 감염되는 데 필요한 총 전송 시간의 최솟값을 구하라. 여기서 총 전송 시간은 각 PC에 데이터를 보내는 데 걸린 시간을 모두 더한 값이다.
입력
첫 줄에 PC의 수 , 간선의 개수 , PC를 직접 해킹해 데이터를 보낼 수 있는 횟수 가 공백으로 구분되어 주어진다.
둘째 줄에는 바이러스가 포함된 데이터를 보내는 데 걸리는 시간 가 공백으로 구분되어 개 주어진다.
다음 개의 줄에는 각 네트워크 간선의 정보를 나타내는 세 정수 , , 가 공백으로 구분되어 주어진다. 이는 번 PC와 번 PC가 데이터를 보내는 데 의 시간이 걸리는 간선으로 연결되어 있다는 뜻이다.
출력
첫 줄에 네트워크의 모든 PC가 감염되는 데 필요한 총 전송 시간의 최솟값을 출력한다. 바이러스가 네트워크 전체에 퍼질 수 없다면 -1을 출력한다.