만드는 중입니다

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

Janjetina

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

요약
트리에서 두 도시 사이 경로의 최대 양고기 양에서 경로 길이를 뺀 값이 k 이상인 도시 쌍의 수를 구합니다.
난이도

보통10점 중 7점

유형
트리, 분할 정복, 정렬
정답자
아직 제출이 없습니다

문제

크로아티아 전역의 식당이 봉쇄 조치로 문을 닫자 Malnar 씨는 처음에 크게 낙담했다. 그러나 슬퍼해 봐야 아무 소용이 없다는 것을 곧 깨달았고, 식당이 다시 문을 열면 크로아티아 곳곳을 여행하며 식당들이 내놓는 최고의 양고기를 직접 먹어 보기로 했다.

Malnar 씨는 방문할 수 있는 도시 nn개를 알고 있으며, 도시에는 11부터 nn까지의 정수 번호가 붙어 있다. 또한 이 도시들을 잇는 양방향 도로 n−1n-1개를 알고 있는데, 이 도로들로 어떤 두 도시든 오갈 수 있다.

각 도로에는 양고기를 파는 식당이 하나씩 있다. Malnar 씨는 각 식당에서 주문할 수 있는 양고기의 양(킬로그램)을 알고 있다.

Malnar 씨는 서로 다른 두 도시 xx, yy를 고른 뒤, 도로를 가장 적게 지나는 최단 경로로 xx에서 yy까지 이동한다. 그는 경로 위의 식당 중 주문할 수 있는 양고기가 가장 많은 한 곳에서만 멈추며(그런 식당이 여럿이면 그중 아무 곳이나 고른다), 주문한 양고기를 전부 먹는다.

경로의 길이는 지나는 도로의 수이다. 길이 ll인 경로에서 ww킬로그램의 양고기를 먹을 때, w−l≥kw - l \ge k이면 그 경로를 만족스러운 경로라고 한다.

Malnar 씨는 최단 경로가 만족스러운 서로 다른 도시의 순서쌍 (x,y)(x, y)가 몇 개인지 알고 싶어 한다. 이 값을 계산해 달라.

입력

첫째 줄에 도시의 수 nn과 만족 기준값 kk가 주어진다 (1≤n,k≤1000001 \le n, k \le 100000).

이어서 n−1n-1개의 줄에 세 정수 xx, yy, ww가 주어진다 (1≤x,y≤n1 \le x, y \le n, x≠yx \ne y, 1≤w≤1000001 \le w \le 100000). 이는 xx와 yy를 잇는 도로가 있고, 그 도로 위에 ww킬로그램의 양고기를 주문할 수 있는 식당이 있다는 뜻이다.

출력

최단 경로가 만족스러운 서로 다른 도시의 순서쌍 (x,y)(x, y)의 개수를 출력한다.

힌트

세 번째 예제 설명:

순서쌍은 (1, 3), (3, 1), (1, 5), (5, 1), (3, 5), (5, 3), (4, 5), (5, 4)이다.

예제3

  1. 예제 1

    입력
    3 1
    1 2 3
    1 3 2
    
    예상 출력
    6
    
  2. 예제 2

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

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