만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

현대모비스 트럭 군집주행

시간 제한1초메모리 제한1024 MB

요약
도로망에서 도시 1에서 나머지 N-1개 도시로 보내는 트럭들이 최단 경로를 따를 때, 뒤따르는 트럭의 비용이 10% 줄어드는 조건에서 최소 총 비용을 구합니다.
난이도

보통10점 중 7점

유형
그래프, 최단 경로, 트리
정답자
아직 제출이 없습니다

문제

현대모비스는 앞으로 미래 모빌리티 산업에서 소프트웨어와 하드웨어를 결합한 차별화된 모빌리티 솔루션을 제공하는 선도기업으로 도약하기 위해 노력하고 있다. 연구개발과 생산능력 등 핵심역량을 바탕으로 스마트 모빌리티, UAM, 로보틱스 사업으로 비즈니스를 넓혀 가고 있다.

트럭 군집주행은 여러 대의 트럭이 줄지어 함께 이동하는 자율주행 운송 기술이다. 내륙 운송의 효율을 높이고, 뒤따르는 트럭은 공기 저항이 최소화되어 연료 효율이 개선되고 배출가스도 줄일 수 있다.

11번부터 NN번까지 번호가 부여된 NN개의 도시, 서로 다른 두 도시를 잇는 MM개의 양방향 도로, 11번 도시에서 출발하여 나머지 N−1N-1개의 도시로 화물을 운송하는 N−1N-1대의 트럭이 있다.

각 트럭은 목적지까지 최단 거리로 이동한다. 같은 도로를 따라 여러 트럭이 함께 이동하는 경우 트럭 군집주행으로 운송비를 절감할 수 있다. 기본 운송비는 거리와 같지만, 한 트럭이 다른 트럭을 뒤따라가는 경우 해당 도로의 운송비가 10%10\% 절감된다.

예를 들어 33대의 트럭이 거리가 1010인 도로를 줄지어 함께 이동하는 경우, 가장 앞선 트럭은 1010, 뒤따라오는 두 트럭은 각각 99의 운송비가 필요하므로 총 2828의 운송비가 필요하다. 모든 트럭이 화물을 운송하는 데 필요한 운송비의 최솟값을 구해 보자.

입력

첫째 줄에 도시의 개수 NN과 도로의 개수 MM이 공백으로 구분되어 주어진다. (2≤N≤200 000;(2 \le N \le 200\,000; 1≤M≤300 000)1 \le M \le 300\,000)

둘째 줄부터 MM개 줄에 걸쳐 각 도로의 정보를 나타내는 세 정수 aa, bb, cc가 공백으로 구분되어 주어진다. aa번 도시와 bb번 도시를 연결하는 길이 cc의 도로를 의미한다. 도로의 길이 cc는 1010의 배수이다. (1≤a,b≤N;(1 \le a, b \le N; 10≤c≤1 000 000)10 \le c \le 1\,000\,000)

트럭이 모든 화물을 운송하는 방법이 존재하는 입력만 주어진다.

출력

모든 트럭이 화물을 운송하는 데 필요한 운송비의 최솟값을 출력한다. 운송비의 최솟값은 263−12^{63}-1을 넘지 않는 양의 정수이다.

힌트

어떤 트럭이 다른 트럭이 지나간 도로를 이용하는 경우 그 트럭을 뒤따라간다고 한다.

KK대의 트럭이 거리가 dd인 도로를 한 줄로 함께 이동할 때 가장 선두에 있는 트럭은 dd, 나머지 K−1K-1대의 트럭은 각각 910d{9 \over 10} d의 운송비가 필요하므로 총 9K+110d{{9K+1} \over 10} d의 운송비가 필요하다.

예제1

  1. 예제 1

    입력
    5 5
    1 2 10
    2 3 20
    2 4 30
    3 5 30
    4 5 20
    
    예상 출력
    134