공리주의

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

요약
트리의 간선 k개를 단말을 공유하지 않게 골라 가치 합을 최대화한다. 간선 가중치를 이분 탐색으로 조정하며 매칭 DP의 최적 조건을 찾는다.
난이도

어려움10점 중 8점

유형
트리, 동적 계획법, 이분 탐색, 그리디
정답자
아직 제출이 없습니다

문제

RUN 나라에는 11번부터 nn번까지 번호가 붙은 nn개의 도시가 있다. 일부 도시 쌍은 양방향 도로로 연결되어 있다. 도로는 모두 n−1n-1개이고, 임의의 두 도시 사이에는 유일한 경로가 존재한다. 또한 각 도로에는 가치라는 정수가 부여되어 있다.

오늘 RUN 나라의 공동 창립자 kk명을 기리기 위해, RUN 나라의 왕 Alex는 서로 다른 도로 kk개를 골라 창립자 한 명에게 도로 하나씩 나눠 주려고 한다. 불필요한 분쟁을 막기 위해, 고른 도로 두 개 이상과 연결된 도시가 있어서는 안 된다.

Alex는 누가 어느 도로를 받는지는 신경 쓰지 않는다. 대신 고른 도로 kk개의 가치 합에만 관심이 있다. 이 합을 최대로 만드는 도로를 골라야 한다.

입력

첫째 줄에 두 정수 nn과 kk가 주어진다(2≤n≤250,0002\leq n\leq250,000, 1≤k≤n−11\leq k\leq n-1). nn은 RUN 나라의 도시 수, kk는 고를 도로의 수이다. 다음 n−1n-1개 줄에 각각 세 정수 u, v, cu,\ v,\ c가 주어진다(1≤u, v≤n1\leq u,\ v\leq n, −1,000,000≤c≤1,000,000-1,000,000\leq c\leq 1,000,000). 이는 도시 uu와 도시 vv가 가치 cc인 양방향 도로로 직접 연결되어 있다는 뜻이다.

출력

조건을 만족하도록 도로 kk개를 고를 수 없으면 Impossible을 출력한다. 그렇지 않으면 고른 도로 kk개의 가치 합의 최댓값을 정수 하나로 출력한다.

예제3

  1. 예제 1

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

    입력
    5 2
    1 2 2
    2 3 3
    2 4 10
    4 5 6
    
    예상 출력
    9
    
  3. 예제 3

    입력
    5 3
    1 2 2
    2 3 3
    2 4 10
    4 5 6
    
    예상 출력
    Impossible