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

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

둠스데이

시간 제한5초메모리 제한1024 MB

요약
가중 무방향 그래프에서 기지 0과 물, 식량 창고 위치들이 주어질 때, 각 종류의 창고를 하나씩 들르고 기지로 돌아오는 최소 시간을 구한다.
난이도

보통10점 중 6점

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

문제

종말이 코앞이다! 적어도 네 형은 그렇게 말하고 있다. 대비책으로 형은 산악 지대 깊숙한 곳에 잘 숨겨진 식량 창고와 물 창고로 이루어진 정교한 네트워크를 만들어 두었다. 너는 기지에 있는데 경보가 울린다. 식량과 물을 모두 얼마나 빨리 가져올 수 있을까?

입력

첫째 줄에 네 정수 nn, mm, ww, ff가 주어진다. 1≤n≤50 0001 \leq n \leq 50\,000은 숨겨진 장소의 수, 0≤m≤150 0000 \leq m \leq 150\,000은 네트워크의 길의 수, 1≤w≤n1 \leq w \leq n은 물 창고의 총 개수, 1≤f≤n1 \leq f \leq n은 식량 창고의 총 개수이다. 네 기지는 장소 00에 있다. 둘째 줄에 ww개의 정수 u_1,u_2,…,u_wu\_1, u\_2, \ldots, u\_w가 공백으로 구분되어 주어지며, 물 창고의 위치를 나타낸다. 각 위치는 서로 다르다 (0≤u_i<n0 \leq u\_i < n). 셋째 줄에 ff개의 정수 v_1,v_2,…,v_fv\_1, v\_2, \ldots, v\_f가 공백으로 구분되어 주어지며, 식량 창고의 위치를 나타낸다. 각 위치는 서로 다르다 (0≤v_i<n0 \leq v\_i < n).

다음 mm개의 줄에 네트워크의 길이 하나씩 주어진다. 길은 양방향이다. ii번째 줄에 세 정수 a_ia\_i, b_ib\_i, t_it\_i가 공백으로 구분되어 주어지며, 장소 a_ia\_i와 b_ib\_i 사이에 이동하는 데 t_it\_i시간이 걸리는 길이 있음을 나타낸다 (0≤a_i,b_i<n0 \leq a\_i, b\_i < n, 0≤t_i<1000 \leq t\_i < 100).

출력

식량과 물을 모두 가져와 기지로 되돌아오는 데 필요한 최소 시간을 한 정수로 출력한다.

예제1

  1. 예제 1

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