만드는 중입니다

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

양갈래 구하기

면접 대비

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

요약
1번 방을 루트로 하는 트리에서 잎 방이 1번 방과 연결되지 않도록 끊을 간선 두께의 합의 최솟값을 구합니다.
난이도

보통10점 중 4점

유형
트리, 동적 계획법, DFS
정답자
아직 제출이 없습니다

문제

평화로운 양갈래 마을에 위기가 닥쳤다. 덩굴에 독이 퍼져 양갈래가 있는 방 쪽으로 옮겨지고 있다.

독은 양갈래의 방을 제외하고, 덩굴 하나로만 연결된 방에서 퍼져 나온다.

모든 방 사이에는 덩굴을 지나는 유일한 경로가 있고, 덩굴은 모두 N−1N-1개이다. 덩굴의 양 끝은 각각의 방에 단단히 붙어 있으므로, 독이 양갈래의 방까지 닿지 않도록 덩굴을 잘라야 한다.

덩굴을 자르는 데에는 덩굴의 두께 VV만큼의 힘이 든다. 시현이는 힘을 최대한 적게 들여 덩굴을 자르고 싶다.

양갈래를 구하기 위해 덩굴을 자르는 데 필요한 힘의 합의 최솟값을 구하라.

입력

첫 번째 줄에 방의 수 NN이 주어진다. (2≤N≤100 0002 \leq N \leq 100\,000)

이후 N−1N-1개의 줄에 정수 AA, BB, VV가 공백을 두고 주어진다. (1≤A,B≤N1 \leq A, B \leq N, 1≤V≤1 0001 \leq V \leq 1\,000)

이는 AA번 방과 BB번 방을 잇는 덩굴의 두께가 VV라는 뜻이다.

양갈래가 묶인 방은 11로 주어진다.

출력

덩굴을 자르기 위해 필요한 힘의 합의 최솟값을 출력한다.

힌트

그림에서 1과 2를 잇는 덩굴, 3과 6을 잇는 덩굴, 3과 7을 잇는 덩굴을 자르면 힘의 합이 3+1+2=6으로 최솟값이 된다.

예제1

  1. 예제 1

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