만드는 중입니다

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

가장 가까운 편의점

면접 대비

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

요약
일부 정점은 집 후보, 일부는 편의점으로 표시된 무방향 가중 그래프에서, 가장 가까운 편의점까지의 최단 경로 거리가 최소인 집 후보를 고르고, 거리가 같으면 정점 번호가 작은 쪽을 고른다.
난이도

보통10점 중 4점

유형
그래프, 최단 경로, 힙, 동적 계획법
정답자
아직 제출이 없습니다

문제

영선이가 이사할 집을 알아보고 있다. 혼자 살아서 끼니를 편의점에서 해결하는 날이 많으므로, 편의점까지의 거리가 가장 가까운 집을 고르려고 한다.

이사할 도시는 정점과 간선으로 나타낸다. 집 후보와 편의점은 모두 정점 위에 있다. 어떤 집 후보에서 편의점까지의 거리는 그 후보에서 가장 가까운 편의점까지의 최단 거리다.

영선이는 캠프 강사 준비로 바쁘니 대신 집을 골라 주자. 거리가 같은 후보가 여럿이면 정점 번호가 가장 작은 후보를 고른다.

입력

첫째 줄에 정점의 개수 nn과 간선의 개수 mm이 주어진다. (2≤n≤50002 \le n \le 5000, 1≤m≤1000001 \le m \le 100000)

다음 mm개 줄에 각각 aa, bb, cc가 주어진다. 정점 aa와 정점 bb를 잇는 간선의 길이가 cc라는 뜻이다. (1≤a,b≤n1 \le a, b \le n, 1≤c≤100001 \le c \le 10000) 같은 두 정점을 잇는 간선이 여러 개일 수 있고, aa와 bb가 같은 간선도 있을 수 있다. 간선에는 방향이 없다.

다음 줄에 집 후보의 개수 pp와 편의점의 개수 qq가 주어진다. (1≤p1 \le p, 1≤q1 \le q, 2≤p+q≤n2 \le p + q \le n)

다음 줄에 집 후보의 정점 번호가 pp개, 그다음 줄에 편의점의 정점 번호가 qq개 주어진다. 한 줄 안에서 같은 번호는 두 번 나오지 않고, 집 후보와 편의점은 서로 겹치지 않는다.

어떤 편의점에도 도달하지 못하는 집 후보가 있을 수 있다. 그런 후보는 고르지 않는다. 편의점에 도달할 수 있는 집 후보는 적어도 하나 있다.

출력

편의점까지의 거리가 가장 가까운 집 후보의 정점 번호를 한 줄에 출력한다. 거리가 같은 후보가 여럿이면 정점 번호가 가장 작은 후보를 출력한다.

예제6

  1. 예제 1

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

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

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

    입력
    4 4
    1 2 100
    1 3 1
    3 4 1
    4 2 1
    1 3
    1
    2 3 4
    
    예상 출력
    1
    
  5. 예제 5

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

    입력
    50 49
    1 2 10000
    2 3 10000
    3 4 10000
    4 5 10000
    5 6 10000
    6 7 10000
    7 8 10000
    8 9 10000
    9 10 10000
    10 11 10000
    11 12 10000
    12 13 10000
    13 14 10000
    14 15 10000
    15 16 10000
    16 17 10000
    17 18 10000
    18 19 10000
    19 20 10000
    20 21 10000
    21 22 10000
    22 23 10000
    23 24 10000
    24 25 10000
    25 26 10000
    26 27 10000
    27 28 10000
    28 29 10000
    29 30 10000
    30 31 10000
    31 32 10000
    32 33 10000
    33 34 10000
    34 35 10000
    35 36 10000
    36 37 10000
    37 38 10000
    38 39 10000
    39 40 10000
    40 41 10000
    41 42 10000
    42 43 10000
    43 44 10000
    44 45 10000
    45 46 10000
    46 47 10000
    47 48 10000
    48 49 10000
    49 50 10000
    2 1
    1 49
    50
    
    예상 출력
    49