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

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

핵심 도로의 최대 계수

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

요약
각 간선에 대해, 그 간선이 어떤 최소 신장 트리에 속할 수 있는 가중치의 최댓값을 구한다.
난이도

어려움10점 중 8점

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

문제

옥타곤은 로켓 사일로, 레이더, 식당, 재향군인 사무소, 제복 창고 등 전략적으로 중요한 여러 시설을 관리한다. 이 시설들 사이의 연결망을 확보하는 것은 매우 중요하지만, 한편으로 이 연결망에 대한 위협은 최소화해야 한다. 서로 다른 두 시설을 잇는 양방향 도로마다 공격 위협 계수(줄여서 계수)가 정해져 있다. 최근 옥타곤에 입사한 조니는 한밤중에도 계수의 합을 최소로 하면서 어떤 두 시설 사이든 이동할 수 있게 하는 도로 부분집합을 계산할 수 있다. 이러한 부분집합 중 적어도 하나에 속하는 도로를 핵심 도로라고 부른다.

그러나 계수는 언제든 바뀔 수 있다. 연례 평가의 일환으로 옥타곤은 각 도로마다, 그 도로의 계수를 xx로 두고 나머지 계수는 그대로 둘 때 그 도로가 핵심 도로가 되는 xx의 최댓값을 구하기로 했다. 이 일은 조니에게 맡겨졌고, 그는 이 중요한 문제에서 실수할 수 없다.

입력

첫째 줄에 두 정수 nn과 mm (1≤n≤100 0001 \leq n \leq 100\,000, n−1≤m≤106n - 1 \leq m \leq 10^6)이 공백 하나를 사이에 두고 주어진다. 각각 옥타곤이 관리하는 시설의 수와 시설 사이의 양방향 도로의 수이다. 시설에는 11부터 nn까지 연속한 자연수가 붙어 있다.

다음 mm개 줄에는 각각 세 정수 aa, bb, cc (1≤a,b≤n1 \leq a, b \leq n, a≠ba \neq b, 0≤c≤1090 \leq c \leq 10^9)가 공백 하나를 사이에 두고 주어진다. 시설 aa와 bb를 잇는 양방향 도로와 그 계수 cc를 나타낸다. 순서 없는 쌍 {a,b}\{a, b\}는 많아야 한 번 등장한다.

주어진 도로만으로도 어떤 두 시설 사이든 항상 이동할 수 있다.

출력

입력에 주어진 순서대로 각 도로마다 한 줄씩, 모두 mm개 줄을 출력한다. 특정 도로에 해당하는 줄에는 그 도로의 계수를 이 값으로 바꾸고 나머지 계수는 그대로 두었을 때 그 도로가 핵심 도로가 되는 최댓값을 자연수 하나로 출력한다. 이 값이 10910^9보다 크거나 얼마든지 커질 수 있으면 10910^9을 출력한다.

힌트

예제의 도로망은 다음과 같다.

예제1

  1. 예제 1

    입력
    6 7
    1 2 2
    2 3 1
    3 4 0
    1 4 3
    3 5 20
    4 5 8
    3 6 14
    
    예상 출력
    3
    3
    3
    2
    8
    20
    1000000000