Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
2.0s
Giới hạn bộ nhớ:
512M
Input:
stdin
Output:
stdout
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Đất nước X gồm ~n~ thành phố, được kết nối với nhau bởi ~m~ con đường 2 chiều, biết rằng luôn tồn tại đường đi giữa 2 thành phố bất kỳ. Hiện đang có chuyến thăm của các lãnh đạo từ các nước láng giềng, biết rằng có ~k~ lãnh đạo và vị lãnh đạo thứ ~i~ hiện đang ở thành phố ~p_i~. Một con đường được gọi là quan trọng nếu như tồn tại một cặp ~(i, j)~ sao cho để đi từ thành phố ~p_i~ đến ~p_j~ bắt buộc phải sử dụng con đường này. ~(i, j \le k)~.
Do những con đường quan trọng tốn rất nhiều chi phí để bảo vệ và sửa sang, nên chính quyền quyết định mở thêm 1 con đường để giảm thiểu số con đường quan trọng.
Yêu cầu
Hãy giúp chính quyền của đất nước X đưa ra số con đường quan trọng tối thiểu có thể.
Dữ liệu
Đầu vào
- Dòng đầu gồm ba số nguyên dương ~n, m, k~ lần lượt là số thành phố, số con đường, số lãnh đạo tại đất nước X. (~1 \le k \le n \le 10^5~, ~1 \le m \le 3\cdot 10^5~)
- ~m~ dòng tiếp theo chứa 2 số nguyên dương ~u~, ~v~ thể hiện có đường 2 chiều giữa thành phố ~u~ và ~v~. (~u \neq v~, ~1 \leq u, v \leq n~)
- Dòng cuối cùng chứa ~k~ giá trị ~p_1, p_2, ... p_k~ thể hiện lãnh đạo thứ ~i~ đang ở thành phố ~p_i~.
Kết quả
- Xuất ra số lượng con đường quan trọng tối thiểu có thể tìm được.
Ví dụ
Input
6 6 2
1 2
2 3
2 4
1 4
3 5
3 6
2 5
Output
0
Giải thích
- Trong test ví dụ đầu tiên, nếu ta mở thêm con đường nối hai đỉnh ~2~ và ~5~ thì số con đường quan trọng ít nhất là ~0~
- Trong test ví dụ thứ 2 (hình bên dưới), với mọi cách mở thêm con đường tối ưu (các con đường ~(1, 8)~, ~(8, 6)~ và ~(1, 6)~) thì số con đường quan trọng ít nhất là ~1~
Bình luận