Đường đi ngắn nhì
Đề bài
Mô tả
Cho đồ thị có hướng gồm đỉnh, cung (có trọng số là độ dài cung). Đường đi được phép đi qua một đỉnh hoặc một cung nhiều lần (kể cả đi qua đỉnh rồi quay lại), độ dài đường đi là tổng độ dài các cung trên đường đi, cung đi qua nhiều lần được tính nhiều lần.
Gọi là độ dài đường đi ngắn nhất từ đến . Độ dài đường đi ngắn nhì là độ dài nhỏ nhất lớn hơn hẳn trong số độ dài các đường đi từ đến (nhiều đường đi khác nhau có cùng độ dài không làm thay đổi đáp án).
Yêu cầu: Tìm độ dài đường đi ngắn thứ nhì từ đến .
Dữ liệu vào
- Dòng 1: Hai số nguyên (; ).
- dòng tiếp theo, mỗi dòng ghi số nguyên dương tương ứng là có đường đi một chiều từ đến và độ dài bằng (; ). Có thể có nhiều cung giữa cùng một cặp đỉnh và có thể có cung từ một đỉnh đến chính nó.
Các số cách nhau ít nhất một dấu cách.
Dữ liệu ra
In ra một số duy nhất là độ dài đường đi ngắn nhì. Nếu không có đường đi ngắn nhì (kể cả khi không có đường đi nào từ đến ) thì in ra .
Ràng buộc
- .
- .
- , .
Subtasks
- Có số test ứng với , .
- Có số test ứng với , .
- Các test còn lại ứng với .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 6 1 2 5 1 3 5 2 3 1 2 4 5 3 4 5 1 4 13 |
11 | Ngắn nhất: hoặc , độ dài . Ngắn nhì: , độ dài . |
| 2 2 1 2 1 2 1 1 |
3 | Ngắn nhất: , độ dài . Ngắn nhì: , độ dài . |
| 3 2 1 2 1 2 3 1 |
-1 | Chỉ có một đường đi (độ dài ), không có đường đi ngắn nhì. |
Bình luận