만드는 중입니다

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

간선 끊어가기

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

요약
가중 무방향 그래프에서 간선을 하나씩 지우다가 s와 t가 분리되는 순간 멈출 때, 그때까지 지운 간선 무게 합의 최댓값을 구한다.
난이도

어려움10점 중 8점

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

문제

정점 nn개와 간선 mm개로 이루어진 무방향 그래프가 있다. 간선마다 가중치가 있다. 간선 목록에 있는 간선을 하나씩 골라 그래프에서 지워 나가는데, 지우는 순서는 마음대로 정한다.

두 정점 ss와 tt가 비연결이 되는 순간 간선 제거를 멈춘다. 비연결은 남은 간선을 따라가도 한 정점에서 다른 정점으로 갈 수 없는 상태를 말한다.

지우는 순서를 잘 정해서, 멈춘 시점까지 지운 간선의 가중치 합을 최대로 만들려고 한다. 그 최댓값을 구하시오.

입력

첫째 줄에 정점의 개수 nn과 간선의 개수 mm이 주어진다. (2≤n≤50002 \le n \le 5000, 1≤m≤1000001 \le m \le 100000)

다음 mm개 줄에 세 정수 aa, bb, cc가 주어진다. 정점 aa와 정점 bb를 잇는 가중치 cc인 간선이 있다는 뜻이다. (1≤a,b≤n1 \le a, b \le n, 1≤c≤1001 \le c \le 100, a≠ba \ne b)

마지막 줄에 두 정점 ss와 tt가 주어진다. (1≤s,t≤n1 \le s, t \le n, s≠ts \ne t)

같은 두 정점을 잇는 간선이 여러 개일 수 있다. 처음에 ss와 tt는 항상 연결되어 있다.

출력

ss와 tt가 비연결이 되는 시점까지 지운 간선의 가중치 합의 최댓값을 한 줄에 출력한다.

예제2

  1. 예제 1

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

    입력
    5 4
    1 2 1
    2 3 2
    3 4 3
    4 5 4
    1 5
    
    예상 출력
    4