만드는 중입니다

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

공정한 회의

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

요약
알려지지 않은 거리를 정해 어떤 삼각형에도 가장 작은 변이 하나뿐이지 않도록 하고, 전체 합의 최솟값을 구합니다. 불가능하면 -1을 출력합니다.
난이도

어려움10점 중 8점

유형
그래프, 유니온 파인드, 그리디
정답자
아직 제출이 없습니다

문제

먼 미래, SNUPS는 알고리즘 교육 열풍에 힘입어 회원이 총 NN명인 큰 동아리가 되었다. 서로 다른 두 회원 사이에는 친밀한 정도를 나타내는 친밀 거리를 정의할 수 있으며, 값이 작을수록 더 친밀하다는 뜻이다. ii번 회원과 jj번 회원 사이의 친밀 거리는 정수 C(i,j)C(i,j)로 나타낸다. 모든 1≤i,j≤N1\le i, j\le N, i≠ji\ne j에 대해 1≤C(i,j)≤1071\le C(i,j)\le 10^7이고 C(i,j)=C(j,i)C(i,j)=C(j,i)를 만족한다.

안건이 생길 때마다 SNUPS는 회원 NN명 가운데 무작위로 세 명을 뽑아 회의를 진행한다. 뽑힌 세 명 중 친한 두 명이 연합하면 나머지 한 명의 의견이 반영되지 않는다. 구체적으로, 뽑힌 서로 다른 세 회원을 각각 ii, jj, kk번 회원이라 할 때 C(i,j)<C(j,k)C(i,j) < C(j,k)이고 C(i,j)<C(i,k)C(i,j) < C(i,k)이면 kk번 회원의 의견이 반영되지 못한다. 이때 회의가 불공정하다고 한다.

제연이는 어떤 세 명이 회의를 하더라도 불공정한 경우가 생기지 않게 하고 싶다. 현재 MM쌍의 회원만 서로 알고 있고 나머지 회원끼리는 아직 모른다. 이미 아는 사이의 친밀 거리는 바꿀 수 없지만, 모르는 사이의 친밀 거리는 원하는 대로 정할 수 있다. 최종 친밀 거리도 정수이면서 위 범위와 대칭 조건을 만족해야 한다.

이러한 계획이 실현 가능하다면 ∑i=1N∑j=i+1NC(i,j)\sum_{i=1}^{N}\sum_{j=i+1}^{N} C(i,j)를 최소로 만드는 것이 목표이다. 계획이 실현 가능한지 판단하고, 가능하다면 이 값의 최솟값을 구하라.

입력

첫 줄에 회원의 수 NN과 이미 서로 아는 관계의 수 MM이 주어진다. 둘째 줄부터 MM개의 줄에 걸쳐 세 정수 AiA_i, BiB_i, DiD_i가 공백으로 구분되어 주어진다. 이는 AiA_i번 회원과 BiB_i번 회원이 이미 아는 사이이며, 둘의 친밀 거리가 DiD_i라는 뜻이다.

출력

계획이 실현 불가능하면 -1을, 가능하면 ∑i=1N∑j=i+1NC(i,j)\sum_{i=1}^{N}\sum_{j=i+1}^{N} C(i,j)의 최솟값을 출력한다.

제한

  • 3≤N≤300,0003 \le N \le 300,000
  • 0≤M≤300,0000 \le M \le 300,000
  • 1≤Ai,Bi≤N1 \le A_i, B_i \le N, Ai≠BiA_i \ne B_i, i≠ji \ne j일 때 {Ai,Bi}≠{Aj,Bj}\{A_i, B_i\} \ne \{A_j, B_j\}
  • 1≤Di≤1071 \le D_i \le 10^{7}

예제2

  1. 예제 1

    입력
    4 2
    1 2 5
    2 4 3
    
    예상 출력
    14
    
  2. 예제 2

    입력
    4 4
    1 2 10
    1 3 20
    2 4 30
    3 4 40
    
    예상 출력
    -1