[Hải Phòng - TST - 2025] Bài 5: TREE

Xem dạng PDF

Gửi bài giải

Điểm: 40,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho đồ thị vô hướng liên thông có ~n~ đỉnh (đánh số từ 1 đến ~n~) và ~n - 1~ cạnh. Mỗi cạnh có trọng số là số nguyên dương ~C~. Trong số ~n~ đỉnh thì có đúng ~k~ đỉnh được đánh dấu.

Yêu cầu: Với mỗi đỉnh ~i~ (~1 \le i \le n~), hãy tìm đường đi ngắn nhất xuất phát từ đỉnh ~i~ và đi qua tất cả ~k~ đỉnh được đánh dấu.

Input

  • Dòng đầu tiên chứa hai số nguyên dương ~n, k~ (~1 < n \le 2 \times 10^5, 1 \le k \le n~);
  • ~n - 1~ dòng tiếp theo, mỗi dòng chứa ba số nguyên ~A, B, C~ (~1 \le A, B \le n, 1 \le C \le 10^6~) thể hiện có một cạnh nối đỉnh ~A~ với đỉnh ~B~ có trọng số bằng ~C~;
  • ~k~ dòng cuối cùng, mỗi dòng chứa chỉ số của một đỉnh được đánh dấu. Các số trên cùng một dòng được ghi cách nhau bởi dấu cách.

Output

  • Ghi ra ~n~ dòng, dòng thứ ~i~ là độ dài đường đi ngắn nhất xuất phát từ đỉnh ~i~ (~1 \le i \le n~) và đi qua tất cả ~k~ đỉnh được đánh dấu.

Sample Input 1

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

Sample Output 1

5
3
7
2
2

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.