Chặn Đường (Gold)
Nộp bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Python 3
5.0s
Giới hạn bộ nhớ:
256M
Đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Go, Java, Kotlin, Pascal, Python, Scratch
Có địa điểm được nối với nhau bởi con đường hai chiều. Mỗi con đường nối hai địa điểm và với độ dài . Một người đi từ địa điểm đến địa điểm theo đường đi ngắn nhất.
Một nhóm muốn cản trở việc di chuyển này bằng cách chặn một con đường — làm đôi độ dài của nó (nhân đôi). Nhóm sẽ chọn con đường để tối đa hóa mức tăng của đường đi ngắn nhất từ đến .
Hãy tính mức tăng lớn nhất có thể đạt được.
Dữ liệu vào
- Dòng 1: Hai số nguyên và (, ).
- dòng tiếp theo: Mỗi dòng gồm ba số nguyên , , — con đường nối địa điểm và có độ dài ().
Đồ thị liên thông, không có cạnh trùng lặp.
Dữ liệu ra
Một số nguyên duy nhất: mức tăng lớn nhất của đường đi ngắn nhất sau khi nhân đôi một con đường.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 7 2 1 5 1 3 1 3 2 8 3 5 7 3 4 3 2 4 7 4 5 2 |
2 | Đường đi ngắn nhất ban đầu là với độ dài . Nếu nhân đôi cạnh - (từ thành ), đường ngắn nhất mới là với độ dài , tăng . |
| 10 9 4 10 12 8 4 24 4 6 10 4 2 11 3 6 18 5 10 11 5 7 24 1 7 5 1 9 17 |
24 | Chặn cạnh duy nhất trên đường ngắn nhất làm tăng đáng kể khoảng cách. |
Bình luận