#G00007. Mua vé hòa nhạc (Buy a Ticket)
Mua vé hòa nhạc (Buy a Ticket)
Mua vé hòa nhạc (Buy a Ticket)
Nguồn: Codeforces
Phiên bản: Phước Hưng OJ Extended
Đề bài
Có thành phố và tuyến tàu hai chiều. Tuyến thứ nối với và tốn xu cho mỗi lần đi qua.
Ban nhạc biểu diễn tại mọi thành phố. Giá vé xem hòa nhạc tại thành phố là xu.
Với một người đang sống ở thành phố , người đó có thể:
- ở lại thành phố và mua vé tại đó; hoặc
- đi đến một thành phố , mua vé tại , rồi quay trở lại thành phố .
Hãy tính chi phí nhỏ nhất cho người ở mỗi thành phố.
Input
Dòng đầu chứa hai số nguyên .
Trong dòng tiếp theo, mỗi dòng chứa , mô tả một tuyến tàu hai chiều.
Dòng cuối chứa số nguyên .
Không có hai tuyến tàu nối cùng một cặp thành phố.
Output
In số nguyên. Số thứ là tổng chi phí nhỏ nhất mà một người bắt đầu ở thành phố phải trả để đi xem hòa nhạc và quay về thành phố nếu đã rời thành phố.
Subtask
Trong tất cả các Subtask: ; ; ; không có hai tuyến tàu nối cùng một cặp thành phố.
- 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 2
1 2 4
2 3 7
6 20 1 25
Output
6 14 1 25
Giải thích
Ở thành phố , mua vé ngay hết nên không cần đi đâu. Ở thành phố , phương án tốt hơn là đi tới thành phố , mua vé giá rồi quay lại; tổng chi phí là , nhưng đi tới thành phố rồi mua vé có chi phí , nên đáp án là . Thành phố mua vé tại chỗ với giá .