#5207. DELIVERY - Giao hàng nhanh

Bộ nhớ: 256 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Một thành phố có N nút giao thông và M con đường hai chiều nối giữa chúng. Con đường thứ i nối nút u_i v_i , và mất thời gian w_i để đi qua. Một công ty giao hàng cần tìm đường đi nhanh nhất (tổng thời gian di chuyển nhỏ nhất) từ kho hàng ở nút S đến một khách hàng ở nút D .

Dữ liệu:

  • Dòng đầu tiên chứa bốn số nguyên n, m, S, D\ (1 \le n \le 10^5, 0 \le m \le 2 \cdot 10^5, 1 \le S, D \le n) .
  • m dòng tiếp theo, mỗi dòng chứa ba số nguyên u, v, w\ (1 \le u, v \le n, 1 \le w \le 1000) mô tả một con đường.

Kết quả: Một số nguyên duy nhất là tổng thời gian nhỏ nhất để đi từ S đến D . Nếu không có đường đi, in ra -1.

Ví dụ:

Dữ liệu:

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

Kết quả:

7

Giải thích: Đường đi nhanh nhất là 1 \rightarrow 2 \rightarrow 3 \rightarrow 4 \rightarrow 5 với tổng thời gian là 2 + 1 + 3 + 1 = 7 .

Giới hạn:

  • 1 \le n \le 10^5
  • 0 \le m \le 2 \cdot 10^5
  • 1 \le w \le 1000