RiseOJ는 solved.ac와 제휴 관계가 없습니다. 티어 아이콘 © solved.ac. solved.ac
포럼
문제 JOI00183

ゾンビ島 (Zombie Island)

설명

JOI 君が住んでいる島がゾンビに侵略されてしまった.JOI 君は島で一番安全な避難場所として設定されているシェルターに逃げ込むことにした.

JOI 君が住んでいる島は町 1 から町 N までの N 個の町からなり,町と町とは道路で結ばれている.島には M 本の道路があり,すべての道路は異なる 2 つの町を結んでいる.JOI 君は道路を双方向に自由に移動できるが,道路以外を通って町から別の町に行くことはできない.

いくつかの町はゾンビに支配されており,訪れることが出来ない.ゾンビに支配されている町から S 本以下の道路を使って到達できる町を 危険な町 という.それ以外の町を 危険でない町 という.

JOI 君の家は町 1 にあり,避難先のシェルターは町 N にある.町 1,町 N はゾンビに支配されていない.島の道路は移動するのに時間がかかるので,JOI 君は町を移動するたびに,移動先の町で一晩宿泊しなければならない.JOI 君は,危険でない町で宿泊する場合は宿泊費が P 円の安い宿に泊まるが,危険な町で宿泊する場合はセキュリティのサービスが優良な宿泊費が Q 円の高級宿に泊まる.JOI 君はできるだけ宿泊費が安くなるように移動して,町 N まで避難したい.町 1 や町 N では宿泊する必要はない.

JOI 君が 町 1 から町 N まで移動するときに必要な宿泊費の合計の最小値を求めよ.

제약
입력 형식

入力は 2 + K + M 行からなる.

1 行目には,4 つの整数 N, M, K, S (2 ≦ N ≦ 100000, 1 ≦ M ≦ 200000, 0 ≦ K ≦ N - 2, 0 ≦ S ≦ 100000) が空白を区切りとして書かれている.これは,島が N 個の町と M 本の道路からなり,N 個の町のうち K 個の町がゾンビに支配されており,ゾンビに支配されている町から S 本以下の道路を使って到達できる町を危険な町と呼ぶことを表す.

2 行目には,2 つの整数 P, Q (1 ≦ P < Q ≦ 100000) が空白を区切りとして書かれている.これは,JOI 君が危険でない町では宿泊費が P 円の宿に泊まり,危険な町では宿泊費が Q 円の宿に泊まることを表す.

続く K 行のうちの i 行目 (1 ≦ i ≦ K) には,整数 C i (2 ≦ C i ≦ N - 1) が書かれている.これは,町 C i がゾンビに支配されていることを表す.C 1 , ..., C K は全て異なる.

続く M 行のうちの j 行目 (1 ≦ j ≦ M) には,2 つの整数 A j , B j (1 ≦ A j < B j ≦ N) が空白を区切りとして書かれている.これは,町 A j と町 B j との間に道路が存在することを表す.同じ (A j , B j ) の組が 2 回以上書かれていることはない.

与えられる入力データにおいては,町 1 から町 N までゾンビに支配されていない町のみを通って移動できることが保証されている.

출력 형식

JOI 君が町 1 から町 N まで移動するときに必要な宿泊費の合計の最小値を 1 行で出力せよ.

出力が 32 ビット符号付き整数の範囲に収まるとは限らないことに注意せよ.

예제 1
입력
13 21 1 1
1000 6000
7
1 2
3 7
2 4
5 8
8 9
2 5
3 4
4 7
9 10
10 11
5 9
7 12
3 6
4 5
1 3
11 12
6 7
8 11
6 13
7 8
12 13
출력
11000
문제 정보

생성자가 기록되지 않았습니다.

출처 JOI 2016 Preliminary

평가 및 의견

ゾンビ島 (Zombie Island)

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 50 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

ゾンビ島 (Zombie Island)

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8