아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

간선 하나를 지운 최소 신장 트리

시간 제한3초메모리 제한256 MB

요약
각 간선을 하나씩 제거한 그래프의 최소 스패닝 트리 가중치를 구하고 연결이 끊기면 -1을 출력합니다.
난이도

보통10점 중 7점

유형
최소 신장 트리, 트리, 유니온 파인드
정답자
아직 제출이 없습니다

문제

정점이 nn개이고 간선이 mm개인 가중치 무방향 그래프 GG가 주어진다. 간선에는 11번부터 mm번까지 번호가 붙어 있다.

GiG_i는 GG에서 ii번 간선 하나만 지운 그래프다. 각 ii에 대해 GiG_i의 최소 신장 트리 비용을 구하라.

입력

입력 형식은 다음과 같다.

n m
a1 b1 w1
...
am bm wm

첫째 줄에 정점 수 nn과 간선 수 mm이 주어진다 (2≤n≤100,0002 \le n \le 100{,}000, 1≤m≤200,0001 \le m \le 200{,}000).

이어지는 mm개 줄 중 ii번째 줄에는 세 정수 aia_i, bib_i, wiw_i가 주어진다 (1≤ai≤n1 \le a_i \le n, 1≤bi≤n1 \le b_i \le n, 0≤wi≤1,000,0000 \le w_i \le 1{,}000{,}000). 정점 aia_i와 정점 bib_i를 잇는 비용 wiw_i의 간선이 ii번 간선이라는 뜻이다.

그래프는 단순 그래프임이 보장된다. 즉 두 정점을 잇는 간선은 많아도 하나이고, 모든 ii에 대해 ai≠bia_i \ne b_i이다.

출력

mm개 줄에 걸쳐, ii번째 줄에 GiG_i의 최소 신장 트리 비용을 출력한다. GiG_i에 신장 트리가 없으면 그 줄에는 -1을 출력한다.

예제4

  1. 예제 1

    입력
    4 6
    1 2 2
    1 3 6
    1 4 3
    2 3 1
    2 4 4
    3 4 5
    
    예상 출력
    8
    6
    7
    10
    6
    6
    
  2. 예제 2

    입력
    4 4
    1 2 1
    1 3 10
    2 3 100
    3 4 1000
    
    예상 출력
    1110
    1101
    1011
    -1
    
  3. 예제 3

    입력
    7 10
    1 2 1
    1 3 2
    2 3 3
    2 4 4
    2 5 5
    3 6 6
    3 7 7
    4 5 8
    5 6 9
    6 7 10
    
    예상 출력
    27
    26
    25
    29
    28
    28
    28
    25
    25
    25
    
  4. 예제 4

    입력
    3 1
    1 3 999
    
    예상 출력
    -1