현대모비스 트럭 군집주행

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

요약
각 트럭은 1번 도시에서 목적지까지 최단 경로로 이동하며, 이미 다른 트럭이 지난 도로는 운송비가 10% 할인된다. 모든 트럭의 운송비 합의 최솟값을 구한다.
난이도

어려움10점 중 8점

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

문제

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

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

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

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

예를 들어 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