만드는 중입니다

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

늦은 파티

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

요약
가중 무방향 그래프에서, 적어도 한 친구가 같은 최단 경로를 따라 함께 걷는 시간이 최대가 되는 지점까지의 시간을 구한다.
난이도

어려움10점 중 8점

유형
그래프, 최단 경로, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

오늘 밤 연회가 끝나면, 새로 사귄 F명의 친구와 함께 연회장을 나와 호텔로 걸어 돌아간다. 친구들과 최대한 오래 이야기하고 싶지만, 안타깝게도 모두 같은 호텔에 묵는 것은 아닐 수 있다.

본인을 포함한 모든 사람은 각자의 호텔로 돌아가는 최단 경로 중 하나를 따라간다.

파리는 0번부터 N − 1번까지 번호가 붙은 N개의 교차로와 두 교차로를 잇는 S개의 거리로 이루어져 있다. 거리는 물론 양방향으로 걸을 수 있다. 모든 호텔은 교차로에 있으며 연회장에서 갈 수 있다. 연회는 0번 교차로에서 열린다.

입력

입력은 여러 줄로 이루어지며, 각 줄은 하나의 공백으로 구분된 정수들로 구성된다.

  • 첫째 줄에는 세 정수 N, S, F가 주어진다.
  • 다음 S개 줄에는 각각 세 정수 i, j, t가 주어지며, 교차로 i와 j 사이에 걸어서 지나는 데 t분이 걸리는 거리가 있음을 나타낸다.
  • 마지막 줄에는 사람들이 묵는 호텔의 교차로를 나타내는 F + 1개의 정수가 주어진다. 첫 번째는 본인의 호텔이고, 나머지는 친구들의 호텔이다.

출력

출력은 한 줄로 이루어지며, 그 내용은 친구 한 명 이상과 동행할 수 있는 최장 시간(분)을 나타내는 정수이다.

제한

  • 1 ≤ N ≤ 100 000
  • 0 ≤ S ≤ 300 000
  • 0 ≤ F ≤ 10 000
  • 1 ≤ t ≤ 1 000 000

예제1

  1. 예제 1

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