Bad Cowtractors

면접 대비

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

요약
가중치가 있는 무방향 그래프에서 간선 비용 합이 최대인 신장 트리를 찾고, 신장 트리가 없으면 -1을 출력한다.
난이도

보통10점 중 4점

유형
최소 신장 트리, 그리디, 그래프, 정렬
정답자
아직 제출이 없습니다

문제

베시(Bessie)는 농부 존(Farmer John)의 헛간 NN개(2≤N≤1,0002 \le N \le 1{,}000) 사이에 값싼 인터넷 망을 구축하는 일을 맡았다. 헛간에는 11부터 NN까지 번호가 매겨져 있다. 농부 존은 이미 사전 조사를 마쳐, 헛간 쌍을 잇는 연결 경로 후보 MM개(1≤M≤20,0001 \le M \le 20{,}000)를 찾아 두었다. 각 연결 경로에는 비용 CC(1≤C≤100,0001 \le C \le 100{,}000)가 붙어 있다. 농부 존은 망을 연결하는 데 드는 비용을 최소로 쓰고 싶어 하며, 심지어 베시에게 품삯조차 주지 않으려 한다.

농부 존이 품삯을 주지 않으리라는 것을 안 베시는 일부러 최악으로 일하기로 결심한다. 베시는 설치할 연결들의 집합을 다음 조건을 모두 만족하도록 골라야 한다.

  1. 선택한 연결들의 총 비용이 가능한 한 커야 한다.
  2. 모든 헛간이 서로 연결되어 있어야 한다(설치된 연결들의 경로를 따라 어떤 헛간에서든 다른 어떤 헛간으로도 갈 수 있어야 한다).
  3. 연결들 사이에 사이클이 없어야 한다(사이클이 있으면 농부 존이 쉽게 알아챌 것이다).

조건 2와 3에 의해, 최종 연결 집합은 하나의 트리(tree)를 이루게 된다.

입력

  • 첫째 줄: 공백으로 구분된 두 정수 NN과 MM.
  • 22번째 줄부터 M+1M+1번째 줄까지: 각 줄에는 공백으로 구분된 세 정수 AA, BB, CC가 주어지며, 이는 헛간 AA와 BB를 잇는 비용 CC의 연결 경로를 뜻한다.

출력

  • 첫째 줄: 모든 헛간을 연결하는 신장 트리 중 총 비용이 가장 큰 값을 정수 하나로 출력한다. 모든 헛간을 연결하는 것이 불가능하면 −1-1을 출력한다.

예제1

  1. 예제 1

    입력
    5 8
    1 2 3
    1 3 7
    2 3 10
    2 4 4
    2 5 8
    3 4 6
    3 5 2
    4 5 17
    
    예상 출력
    42