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

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

Pandemic 2

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

요약
일부 도시가 처음부터 감염된 가중치 트리에서 감염이 간선을 따라 분당 1km로 퍼질 때, 어느 순간에든 존재할 수 있는 미감염 연결 성분 개수의 최댓값을 구한다.
난이도

어려움10점 중 8점

유형
트리, DFS, 정렬, 그리디
정답자
아직 제출이 없습니다

문제

Vasya의 친구들은 항상 "Pandemic"이라는 같은 보드 게임만 한다. Vasya는 이 게임에 질려서 직접 새로운 버전을 만들기로 했다.

그는 Byteland 지도 위에 nn개의 도시와 이들을 잇는 n−1n-1개의 양방향 도로를 고른다. 도시는 11부터 nn까지의 정수로, 도로는 11부터 n−1n-1까지의 정수로 번호가 매겨진다. ii번째 도로의 길이는 lil_i킬로미터이고 도시 uiu_i와 viv_i를 잇는다. 어떤 두 도시 사이에도 도로만 따라가는 경로가 존재한다. 게임이 진행되면 도로와 도시가 감염된다. 도시는 전부 감염되거나 전혀 감염되지 않은 상태 중 하나이고, 도로는 감염된 부분과 감염되지 않은 부분이 함께 있을 수 있다.

게임이 시작될 때 도시 a1,a2,…,ama_1, a_2, \ldots, a_m이 감염된다. 그다음 감염이 인접한 도로를 따라 퍼진다. 감염이 도시에 도달하는 순간 그 도시가 감염된다. 동시에 방금 감염된 도시에 인접한 도로를 따라 감염이 퍼지기 시작한다. 도시는 즉시 감염되고, 감염은 어느 도로에서든 분속 1킬로미터의 일정한 속도로 퍼진다.

게임의 각 순간에 아직 감염되지 않은 도시와 도로의 부분들은 감염되지 않은 연결 요소를 이룬다. 감염되지 않은 도시와 그에 인접한 감염되지 않은 도로 부분은 항상 같은 요소에 속한다. 두 감염되지 않은 도시는 감염되지 않은 도로만으로 이루어진 경로가 있을 때, 그리고 그때만 같은 요소에 속한다. 감염되지 않은 연결 요소는 도시를 전혀 포함하지 않을 수 있는데, 이 경우 이미 감염된 도시들을 잇는 감염되지 않은 도로 부분 하나로 이루어진다.

모든 도시와 도로가 감염되면 게임이 끝난다. Vasya는 아직 플레이어의 역할을 정하지 않았지만, 먼저 게임의 어느 순간에 보드 위에 존재할 수 있는 감염되지 않은 연결 요소 개수의 최댓값을 알고 싶어 한다.

입력

첫 번째 줄에는 고른 도시의 수 nn이 주어진다 (2≤n≤1052 \le n \le 10^5). 다음 n−1n-1개의 줄에는 고른 도로의 설명이 주어지고, ii번째 줄에는 ii번째 도로가 잇는 도시와 그 길이 uiu_i, viv_i, lil_i가 주어진다 (1≤ui,vi≤n1 \le u_i, v_i \le n; ui≠viu_i \ne v_i; 1≤li≤1091 \le l_i \le 10^9).

그다음 줄에는 게임이 시작될 때 감염되는 도시의 수 mm이 주어진다 (1≤m≤n1 \le m \le n). 그다음 줄에는 이 도시들의 번호 a1,a2,…,ama_1, a_2, \ldots, a_m이 주어진다 (1≤ai≤n1 \le a_i \le n, 모든 aia_i는 서로 다르다).

출력

게임의 어느 순간에 보드 위에 존재할 수 있는 감염되지 않은 연결 요소 개수의 최댓값을 정수 하나로 출력한다.

예제1

  1. 예제 1

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