JOI 2016 - Zombie Island
Xem PDFHòn đảo nơi JOI-kun sống đã bị zombie xâm chiếm. Cậu muốn chạy tới nơi trú ẩn an toàn nhất trên đảo.
Đảo có \(N\) thị trấn và \(M\) con đường hai chiều, mỗi đường nối hai thị trấn khác nhau. Chỉ có thể đi giữa các thị trấn bằng đường. Một số thị trấn bị zombie chiếm và không thể đi vào. Một thị trấn được gọi là nguy hiểm nếu có thể tới đó từ một thị trấn bị zombie chiếm bằng không quá \(S\) con đường; các thị trấn khác là không nguy hiểm.
Nhà JOI-kun ở thị trấn 1, nơi trú ẩn ở thị trấn \(N\); cả hai không bị zombie chiếm. Mỗi lần chuyển sang một thị trấn, cậu phải nghỉ qua đêm tại thị trấn vừa tới, trừ thị trấn 1 và \(N\). Chi phí là \(P\) yên tại thị trấn không nguy hiểm và \(Q\) yên tại thị trấn nguy hiểm. Hãy tìm tổng chi phí nhỏ nhất để tới thị trấn \(N\).
Dữ liệu vào
- Dòng 1 chứa \(N,M,K,S\): \(2\le N\le10^5\), \(1\le M\le2\cdot10^5\), \(0\le K\le N-2\), \(0\le S\le10^5\).
- Dòng 2 chứa \(P,Q\), với \(1\le P<Q\le10^5\).
- \(K\) dòng tiếp theo chứa các thị trấn zombie \(C_i\) (\(2\le C_i\le N-1\)), đôi một khác nhau.
- \(M\) dòng tiếp theo chứa \(A_j,B_j\) (\(1\le A_j<B_j\le N\)). Không có cặp đường nào lặp lại.
Dữ liệu bảo đảm có thể đi từ 1 tới \(N\) mà không qua thị trấn bị zombie chiếm.
Dữ liệu ra
In ra tổng chi phí nghỉ trọ nhỏ nhất. Kết quả có thể vượt miền số nguyên có dấu 32 bit.
Chấm điểm
Có 5 bộ dữ liệu chấm, mỗi bộ trị giá 20 điểm.
Ví dụ
Ví dụ 1
Input
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
Output
11000
Giải thích
Các thị trấn 3, 4, 6, 8, 12 là nguy hiểm. Lộ trình \(1,2,5,9,10,11,12,13\) có chi phí \(11000\).
Ví dụ 2
Input
21 26 2 2
1000 2000
5
16
1 2
1 3
1 10
2 5
3 4
4 6
5 8
6 7
7 9
8 10
9 10
9 11
11 13
12 13
12 15
13 14
13 16
14 17
15 16
15 18
16 17
16 19
17 20
18 19
19 20
19 21
Output
15000
Nguồn
Kỳ thi sơ loại Olympic Tin học Nhật Bản 2015/2016, bài 5.
Kỳ thi:
- JOI 2015/2016 - Vòng sơ khảo (1 Tháng 1., 2016)
Bình luận