Đường truyền

Xem dạng PDF

Gửi bài giải

Điểm: 0,01 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: PATH.INP
Output: PATH.OUT

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Công ty có một hệ thống mạng nội bộ gồm ~n~ thiết bị và ~m~ dây nối giữa các cặp thiết bị. Các thiết bị được đánh số từ ~1~ đến ~n~. Các dây nối được đánh số từ ~1~ đến ~m~. Dây nối thứ ~i~ (~1 \leq i \leq m~) kết nối hai thiết bị ~X_i, Y_i~ và có độ trễ là ~W_i~. Đảm bảo không có hai dây nối nào kết nối cùng một cặp thiết bị và luôn tồn tại ít nhất một đường truyền giữa hai cặp đỉnh bất kì.

Gọi đường truyền giữa hai thiết bị ~X~ và ~Y~ là dãy các thiết bị ~(X = x_1, x_2, \ldots, x_k = Y)~ sao cho với mọi ~i~ (~1 \leq i < k~) thì có dây nối giữa hai đỉnh ~x_i~ và ~x_{i+1}~, và độ trễ của đường truyền trên là tổng độ trễ của các dây nối giữa các ~x_i~ và ~x_{i+1}~.

Gọi độ trễ giữa hai thiết bị ~X~ và ~Y~ là độ trễ bé nhất của đường truyền bất kì giữa hai thiết bị ~X~ và ~Y~.

Sắp tới bạn được giao nhiệm vụ cải tạo một trong những đường truyền có độ trễ bé nhất giữa hai thiết bị ~S~ và ~T~ (chọn đường truyền nhanh nhất để tiết kiệm chi phí).

Nếu bạn chọn cải tạo đường truyền ~(S = v_1, v_2, \ldots, v_k = T)~ thì với mọi ~i~ (~1 \leq i < k~), dây nối giữa các cặp thiết bị ~v_i~ và ~v_{i+1}~ sẽ được giảm độ trễ xuống bằng ~0~ (các dây nối thuộc đường truyền được cải tạo hầu như không còn độ trễ). Vì lí do riêng mà bạn muốn sau lần cải tạo này độ trễ giữa hai thiết bị ~U~ và ~V~ là bé nhất có thể.

Input

Dữ liệu: vào từ tệp văn bản PATH.INP

  • Dòng đầu tiên chứa hai số nguyên ~n, m~ (~2 \leq n \leq 10^5, 1 \leq m \leq 2 \times 10^5~) là số thiết bị và số dây nối

  • Dòng thứ hai chứa hai số nguyên ~S, T~ (~1 \leq S, T \leq n, S \neq T~)

  • Dòng thứ ba chứa hai số nguyên ~U, V~ (~1 \leq U, V \leq n, U \neq V~)

  • ~m~ dòng tiếp theo, dòng thứ ~i~ chứa ba số nguyên ~X_i, Y_i, W_i~ tương ứng với một dây nối giữa hai thiết bị ~X_i~ và ~Y_i~, dây nối thứ ~i~ có độ trễ là ~W_i~ (~1 \leq X_i < Y_i \leq n, 1 \leq W_i \leq 10^9~).

Output

Kết quả: ghi kết quả lên tệp PATH.OUT

  • Một dòng duy nhất chứa một số nguyên, là độ trễ nhỏ nhất có thể giữa hai thiết bị ~U~ và ~V~ sau khi cải tạo các kết nối.

Scoring

Ràng buộc:

  • Subtask 1: (16% số điểm) ~S = U~

  • Subtask 2: (15% số điểm) có duy nhất một đường truyền có độ trễ nhỏ nhất giữa hai thiết bị ~S~ và ~T~

  • Subtask 3: (24% số điểm) ~n \leq 300~

  • Subtask 4: (45% số điểm) không có ràng buộc gì thêm

Sample Input 1

6 6
1 6
1 4
1 2 1
2 3 1
3 5 1
2 4 3
4 5 2
5 6 1

Sample Output 1

2

Notes

Giải thích:

Lựa chọn cải tiến đường truyền: ~(1, 2, 3, 5, 6)~

Sau đó đường truyền có độ trễ nhỏ nhất giữa hai thiết bị 1 và 4 là ~(1, 2, 3, 5, 4)~. Trong đó độ trễ của dây nối giữa hai thiết bị 5 và 4 là 2, độ trễ của các dây nối còn lại trên đường truyền này đều là 0.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.