Contest Edu #2 - Giảm thiểu chi phí

Xem dạng PDF

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

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.