Giao hàng từ nhiều kho

Xem dưới dạng PDF

Gửi bài giải


Điểm: 15
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Bình là người phụ trách logistics cho hệ thống siêu thị gồm \(N\) kho trung chuyển. Có \(M\) tuyến đường liên kết hai chiều.

Có \(S\) kho trung chuyển lớn là các tổng kho phân phối. Hãy tìm khoảng cách ngắn nhất từ mỗi kho trung chuyển trong số \(N\) kho đến tổng kho phân phối gần nhất.

Định dạng đầu vào

  • Dòng đầu chứa ba số nguyên \(N, M, S\) (\(1 \le N \le 10^5\), \(0 \le M \le 2 \cdot 10^5\), \(1 \le S \le N\)).
  • Dòng thứ hai chứa \(S\) số nguyên là số hiệu của các tổng kho.
  • \(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 10^9\)) mô tả tuyến đường hai chiều nối \(u\) và \(v\) có độ dài \(w\).

Định dạng đầu ra

  • Một dòng chứa \(N\) số nguyên, số thứ \(i\) là khoảng cách ngắn nhất từ kho \(i\) đến tổng kho gần nhất. Nếu kho \(i\) không thể kết nối đến bất kỳ tổng kho nào, in ra \(-1\).

Ràng buộc

Subtask Tỉ lệ điểm Ràng buộc
1 40% \(N \le 1000\), \(M \le 2000\)
2 60% Không có ràng buộc gì thêm

Ví dụ

Input:

4 4 2
1 4
1 2 2
2 3 3
3 4 4
1 3 8

Output:

0 2 4 0

Nhận xét

Không có ý kiến tại thời điểm này.