#G00006. Đường đi ngắn nhất theo thời gian
Đường đi ngắn nhất theo thời gian
Đường đi ngắn nhất theo thời gian (Single Source Shortest Path, Time Table)
Nguồn: Kattis
Phiên bản: Phước Hưng OJ Extended
Đề bài
Cho một đồ thị có hướng gồm đỉnh, đánh số từ đến . Bạn bắt đầu tại đỉnh ở thời điểm .
Mỗi cạnh có dạng . Cạnh đi từ đến , thời gian di chuyển là . Tuy nhiên, bạn chỉ có thể bắt đầu đi qua cạnh tại các thời điểm hợp lệ:
- ;
- ;
- ;
Nếu , cạnh chỉ có đúng một chuyến khởi hành tại thời điểm .
Nếu đến trước chuyến khởi hành tiếp theo, bạn được phép chờ tại . Với mỗi truy vấn, hãy xác định thời điểm sớm nhất có thể đến đỉnh được hỏi.
Input
Dòng đầu chứa bốn số nguyên .
Trong dòng tiếp theo, mỗi dòng chứa năm số nguyên mô tả một cạnh có hướng.
Trong dòng cuối, mỗi dòng chứa một đỉnh cần truy vấn.
Mỗi file Input của Phước Hưng OJ chứa đúng một test case; không có dòng kết thúc 0 0 0 0.
Output
Với mỗi truy vấn, in ra thời điểm sớm nhất có thể đến đỉnh tương ứng. Nếu không thể đến, in Impossible.
Subtask
- Subtask 1 — 20% — 0.50 giây: ; ; .
- Subtask 2 — 30% — 1.00 giây: ; ; .
- Subtask 3 — 50% — 2.00 giây: ; ; ; .
Ví dụ
Input
4 4 4 0
0 1 0 5 3
0 2 2 0 4
1 3 4 5 2
2 3 8 0 1
0
1
2
3
Output
0
3
6
6
Giải thích
Từ đỉnh , có thể đến đỉnh lúc , đỉnh lúc . Để tới đỉnh , phương án tốt nhất cho kết quả thời điểm . Đỉnh nguồn có thời điểm đến bằng .