Tỉnh Ninh Bình là một trong các tỉnh phát triển mạnh về du lịch. Tại đây, có một số món quà lưu niệm rất được khách du lịch ưa thích là các sản phẩm thủ công mĩ nghệ chế tác từ lá của cây bồ đề.
Bản đồ giao thông của tỉnh có thể mô tả là một đồ thị có N đỉnh và M con đường hai chiều, mỗi con đường nối trực tiếp hai đỉnh nào đó, để di chuyển trên từng con đường này sẽ mất chi phí wi tương ứng, không có con đường nào nối một đỉnh với chính nó.
Có K đỉnh mà tại đó có bán món quà lưu niệm làm từ lá cây bồ đề, tại đỉnh Ki món quà sẽ được bán với giá Ci.
Có P vị khách muốn thực hiện hành trình của mình, vị khách Pi muốn di chuyển từ đỉnh ui đến đỉnh vi và đều muốn mua được món quà lưu niệm từ một trong các đỉnh
có bán quà mà trên hành trình sẽ đi qua.
Yêu cầu: Hãy tính chi phí bé nhất để mỗi vị khách di chuyển theo hành trình của mình và mua được một món quà lưu niệm.
Dữ liệu vào:
+ Dòng đầu gồm bốn số nguyên dương N, M, K, P lần lượt là số đỉnh, số cạnh, số đỉnh có bán quà lưu niệm và số vị khách du lịch \((\ 1 \leq K \leq 100,\ 1 \leq P \leq 2.500,\ 2P \leq N \leq 10^{4},\ N - 1 \leq M\ \leq 10^{5})\).
+ M dòng tiếp theo, dòng thứ i chứa 3 số nguyên dương ui, vi, wi lần lượt là hai đỉnh của cạnh thứ i và chi phí di chuyển trên cạnh đó.
+ K dòng tiếp theo, mỗi dòng chứa 2 số nguyên dương là số thứ tự của đỉnh có bán quà và giá bán tại đỉnh đó.
+ P dòng tiếp theo, dòng thứ i chứa 2 số nguyên dương ui, vi là điểm đầu và điểm cuối của hành trình vị khách thứ i muốn đi.
Kết quả:
+ Gồm P dòng, dòng thứ i ghi ra tổng chi phí di chuyển và mua quà lưu niệm nhỏ nhất của vị khách thứ i. Nếu không có đường đi cho hành trình của vị khách thứ i thì ghi ra số -1.
Ví dụ:
Input | Output | Input | Output | |
---|---|---|---|---|
6 7 1 3 1 2 3 5 4 3 3 1 1 6 1 9 3 4 2 1 4 4 3 2 2 1 10 2 4 5 1 3 6 | 16 16 20 | 6 7 2 3 1 2 3 5 4 3 3 1 1 6 1 9 3 4 2 1 4 4 3 2 2 1 10 2 1 2 4 5 1 3 6 | 5 11 15 |
Ràng buộc:
+ 40% số điểm tương ứng với 40% test ứng với K = 1.
+ 40% số điểm tương ứng với 40% test ứng với P = 1.
+ 20% số điểm không có ràng buộc gì thêm.
Code tích cực |
---|
Trong 24h |
|
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |