Bão Yagi
Xem PDF
Điểm:
1200
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Siêu bão Yagi vừa quét qua, gây ra tình trạng khẩn cấp ở nhiều khu vực. Có \(K\) kho chứa vật tư cứu trợ (\(S_1, S_2, \ldots, S_k\)) được đặt ở các vị trí khác nhau. Mỗi kho có thể cung cấp một lượng vật tư nhất định. Một khu vực bị ảnh hưởng nặng nề (\(T\)) đang rất cần sự tiếp tế. Bạn cần xác định thời gian ngắn nhất để chuyến hàng cứu trợ đầu tiên từ bất kỳ kho nào đến được khu vực \(T\). Đồng thời, bạn cần biết vật tư đó đến từ kho nào để phối hợp công tác cứu trợ hiệu quả.
Input
- Dòng \(1\): Hai số nguyên \(N\) (tổng số địa điểm) và \(M\) (số lượng tuyến đường nối các địa điểm).
- Dòng \(2\): Số nguyên \(K\) (số lượng kho chứa vật tư cứu trợ).
- Dòng \(3\): \(K\) số nguyên, là danh sách các kho chứa vật tư: \(S_1, S_2, \ldots, S_k\).
- Dòng \(4\): \(T\), khu vực bị ảnh hưởng cần cứu trợ.
- \(M\) dòng tiếp theo, mỗi dòng gồm ba số nguyên \(U\), \(V\), \(W\), mô tả một tuyến đường giữa địa điểm \(U\) và địa điểm \(V\) mất \(W\) đơn vị thời gian để di chuyển.
Output
- Dòng \(1\): Thời gian ngắn nhất để vật tư đến được khu vực \(T\).
- Dòng \(2\): Kho chứa vật tư đã cung cấp chuyến hàng đến sớm nhất đó.
Nếu không thể đến được địa điểm cứu trợ thì in hai số \(-1\) trên \(2\) dòng.
Example
Test 1
Input
6 5
3
1 2 3
6
1 4 10
2 4 2
3 5 1
4 6 5
5 6 10
Output
7
2
Ràng buộc
- \(1 \leq N \leq 10^3\)
- \(1 \leq K, U, V, T \leq N\)
- \(1 \leq M \leq N \times (N-1)/2\)
- \(1 \leq W \leq 10^9\)
Bình luận (1)