만드는 중입니다

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

최소 비용 도로

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

요약
가중치가 있는 무방향 그래프에서 모든 정점 쌍의 최단 거리를 유지하면서 유지 비용의 합이 최소가 되는 도로 집합을 구합니다.
난이도

보통10점 중 6점

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

문제

새로 선출된 키치너 시장 Alanna의 첫 업무는 도시의 도로 계획을 개선하는 것이다.

키치너의 현재 도로 계획은 NN개의 교차로와 MM개의 도로로 이루어져 있다. ii번째 도로의 길이는 lil_i미터이고, 연간 유지비는 cic_i달러이며, 교차로 uiu_i와 viv_i를 잇는다. 계획을 세우려면 Alanna가 MM개의 도로 중 일부를 골라 유지해야 한다. 계획의 비용은 선택한 도로들의 유지비를 모두 더한 값이다.

Alanna는 도시의 연간 지출을 줄이기 위해 계획의 비용을 최소화하려고 한다. 도시는 또한 이동 거리가 짧기를 요구한다. 형식적으로 말하면, 임의의 교차로 쌍 (i,j)(i, j)에 대해 현재 도로 계획에서 ii에서 jj로 가는 길이가 ll미터 이하인 경로가 존재하면, Alanna의 계획에도 ii와 jj를 잇는 길이 ll미터 이하의 경로가 있어야 한다. 이 규칙을 어기는 계획은 거부된다.

입력

첫 줄에 정수 NN과 MM이 주어진다.

다음 MM개의 줄에는 정수 uiu_i, viv_i, lil_i, cic_i가 주어지며, 이는 교차로 uiu_i에서 교차로 viv_i로 가는 길이 lil_i, 비용 cic_i의 도로가 있다는 뜻이다 (1≤ui,vi≤N,ui≠vi)(1 \le u_i, v_i \le N, u_i \neq v_i).

출력

요구 조건을 만족하는 도로 계획의 최소 비용을 정수 하나로 출력한다.

제한

1≤N,M≤2 0001 \le N, M \le 2\,000

0≤li≤1090 \le l_i \le 10^9

1≤ci≤1091 \le c_i \le 10^9

예제1

  1. 예제 1

    입력
    5 7
    1 2 15 1
    2 4 9 9
    5 2 5 6
    4 5 4 4
    4 3 3 7
    1 3 2 7
    1 4 2 1
    
    예상 출력
    25