| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 148 | 86 | 74 | 57.812% |
디미고 주변에는 뽀미라는 고양이가 산다. 뽀미는 종종 디미고에 출몰해 학교 곳곳을 돌아다니며 많은 학생들에게 관심과 사랑을 받는다. 승찬이는 뽀미를 정말 좋아하기 때문에 학교를 돌아다니며 최대한 많이 뽀미를 만나려고 한다.
디미고는 1ドル$번부터 $N$번까지 번호가 매겨진 $N$개의 장소가 $N-1$개의 길로 연결되어 있는 트리 구조로, 승찬이는 길을 통해 장소 사이를 이동할 수 있다. 뽀미는 시각 1ドル$부터 시각 $T$까지 디미고에 출몰한다. 뽀미는 매우 민첩하기 때문에 아무리 멀리 떨어진 장소라도 이동할 수 있다. 뽀미는 시각 $t$에 $C_t$번 장소에 나타나며, 승찬이는 뽀미를 만나기 위해 매 시각 길을 따라 인접한 장소로 이동하거나 현재 위치에 머무를 수 있다. 처음 시작하는 위치는 임의로 정할 수 있다.
승찬이가 뽀미를 최대 몇 번 만날 수 있을지 출력하는 프로그램을 작성하시오.
첫 번째 줄에 정수 $N$과 $T$가 공백으로 구분하여 주어진다. $(3 \le N \le 5,000円; 1 \le T \le 1,000円)$
두 번째 줄부터 $N-1$개의 줄에 걸쳐 길을 통해 연결된 두 장소의 번호 $u,ドル $v$가 공백으로 구분하여 주어진다. $(1 \le u, v \le N; u \ne v)$
$N+1$ 번째 줄에 $T$개의 정수 $C_1, C_2, \cdots, C_T$가 공백으로 구분하여 주어진다. $(1 \le C_1, C_2, \cdots, C_T \le N)$
입력으로 주어진 디미고는 올바른 트리 구조이다.
승찬이가 뽀미를 만날 수 있는 횟수의 최댓값을 출력한다.
5 3 1 2 1 3 3 4 3 5 1 5 2
2
위 예제에서 승찬이는 시각 1ドル,ドル 2ドル$에 1ドル$번 장소에 머무르고 시각 3ドル$에 2ドル$번 장소로 이동하면 뽀미를 총 2ドル$번 만날 수 있으며, 이보다 더 많이 뽀미를 만나는 방법은 존재하지 않는다.
School > 한국디지털미디어고등학교 > 제2회 디미고 프로그래밍 챌린지 J번