| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 3 초 (추가 시간 없음) | 1024 MB | 68 | 33 | 23 | 62.162% |
KITPA 나라에는 $1$부터 $N$까지의 번호가 붙은 $N$개의 마을이 있고, 마을 중 $M$개는 중심 마을이 다. 각 마을은 $K$개의 양방향 도로로 연결되어 있고, 진흥이는 마을의 교류를 편하게 하도록 KITPA 나라에 지름길을 새로 건설하려고 한다.
각 도로에는 길이가 주어져 있으며, 각 마을에서 다른 모든 마을로 도로만을 통해 이동할 수 있다. 두 마을 사이에는 많아야 $1$개의 도로만이 있으며, 두 마을 사이의 거리는 마을 사이를 도로만 통하여 이동하는 가장 짧은 경로에 포함된 도로의 길이 합이다. 단, 마을 $A$와 $A$사이의 거리는 $0$이다. 어떤 마을 $A$와 중심 마을 $B$ 사이의 거리가 $A$와 다른 모든 중심 마을 사이의 거리보다 작다면 $A$는 $B$에 속한다고 하자. 어떤 중심 마을에도 속하지 않는 마을이 있을 수 있다.
진흥이는 KITPA 나라의 원하는 두 마을을 골라 아직 두 마을 사이에 도로가 없다면 두 마을 사이에 지름길을 건설하도록 요청할 수 있다. 이때 모든 지름길들을 건설하기 전 지름길이 연결하는 두 마을에 각각 직접 연결된 모든 도로의 길이 중 가장 작은 값보다 지름길의 길이가 짧거나 같아야 KITPA 나라에서 건설을 허가한다. 각 중심 마을끼리는 세력을 견제하고 있어, 지름길을 건설한 이후 다음 조건들을 만족해야 한다.
진흥이가 조건에 맞게 최대한 많은 지름길을 건설하도록 요청했을 때, KITPA 나라가 건설을 허가하는 지름길의 수를 구하여라.
첫 번째 줄에 마을의 수 $N$, 중심 마을의 수 $M$, 도로의 수 $K$가 주어진다. ($2 \le M \le N \le 100\,000$; $N-1 \le K \le 200\,000$)
두 번째 줄에 중심 마을의 마을 번호를 나타내는 정수 $M$개가 공백으로 구분되어 주어진다. 중심 마을의 번호는 서로 다르다.
세 번째 줄부터 $K$개 줄 각각에는 도로가 연결하는 두 마을의 번호 $u$, $v$와 도로의 길이를 나타내 는 정수 $w$가 공백으로 구분되어 주어진다. ($1 \le u, v \le N$; $u \ne v$; $1 \le w \le 1\,000\,000\,000$)
진흥이가 조건에 맞게 최대한 많은 지름길을 건설하도록 요청했을 때, KITPA 나라가 건설을 허가하는 지름길의 수를 출력한다.
| 번호 | 배점 | 제한 |
|---|---|---|
| 1 | 15 | $N \le 5\,000$; 각 마을에는 최대 $2$개의 도로가 연결되어 있다. |
| 2 | 25 | $N ≤ 5\,000$ |
| 3 | 23 | $w = 1$ |
| 4 | 37 | 추가 제약 조건 없음 |
6 2 10 2 4 2 5 5 4 2 8 6 4 3 2 6 9 5 1 4 2 3 4 4 3 6 1 4 6 5 4 6 6 3 7
4
$1$번과 $3$번 마을을 길이 $2$의 지름길로, $1$번과 $y$번 마을을 길이 $3$의 지름길로, $3$번과 $5$번 마을을 길이 $1$의 지름길로, $5$번과 $6$번 마을을 길이 $3$의 지름길로 연결하면 조건을 만족한다. $4$개보다 많은 지름길을 건설할 수는 없다.
8 2 20 1 4 4 7 7 1 6 5 4 1 1 6 5 2 8 2 2 1 7 8 5 4 1 6 8 10 6 7 6 3 2 5 4 6 1 7 5 5 3 4 4 5 8 1 4 8 5 3 8 4 7 8 5 4 2 8 1 2 4 3 5 1
3
Contest > 한국정보기술진흥원 > 제1회 청소년 IT경시대회 > 고등부 C번