BUILD
An hiện đang làm việc cho một công ty IT lớn ở nước ngoài và sắp tới đây công ty có ý định xây dựng một trụ sở ở nước ta để có thể quản lý các chi nhánh của công ty tại VN. An vì là người bản địa nên đã được phân công phụ trách chọn vị trí để xây dựng trụ sở. Biết rằng trong thành phố được chia thành N vùng chính (1 <= N <= 10000) và M (1 <= M <= 50000) con đường hai chiều nối một số cặp vùng lại với nhau. Mỗi vùng đều có thể đến được với nhau thông qua một số con đường. Hiện tại đang có K (1 <= K <= 5) chi nhánh của công ty cần được kiểm tra hằng ngày. Mỗi ngày ban giám đốc sẽ bắt đầu từ trụ sở đi kiểm tra K chi nhánh ( có thể theo thứ tự bất kỳ) rồi quay lại trụ sở. Trụ sở không được đặt ở nơi đã có chi nhánh ở đó. Hãy giúp An tìm cách xây dựng trụ sở để quãng đường di chuyển hằng ngày là nhỏ nhất có thể.
Input:
-Dòng một gồm 3 số nguyên N, M và K.
-Dòng thứ i trong K dòng tiếp theo ghi một số x cho biết vùng x có đặt chi nhánh. (1 <= x <= N)
-M dòng tiếp theo mỗi dòng gồm 3 số u, v, w (1 <= u, v <= N ; 1 <= w <= 1000) cho biết có con đường hai chiều nối u với v và có độ dài là w.
Output:
- ghi quãng đường nhỏ nhất cần phải đi.
Sample Input
5 6 3
1
2
3
1 2 1
1 5 2
3 2 3
3 4 5
4 2 7
4 5 10
Sample Output
12
Giải thích
Giải thích: Xây trụ sở ở số 5 và lịch trình đi là : 5 - 1 – 2 – 3 – 2 – 1 – 5. Quãng đường di chuyển là 12.
Comments