CSES - Nearest Shops | Cửa Hàng Gần Nhất

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1800 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

\(n\) thành phố và \(m\) con đường. Mỗi con đường là hai chiều và nối hai thành phố. Biết rằng có \(k\) thành phố có cửa hàng anime.

Nếu bạn sống trong một thành phố, tất nhiên bạn đã biết rõ cửa hàng anime tại chính thành phố đó nếu có. Bạn muốn tìm cửa hàng anime gần nhất không nằm trong thành phố của mình.

Với mỗi thành phố, hãy xác định khoảng cách nhỏ nhất đến một thành phố khác có cửa hàng anime.

Input

Dòng đầu tiên chứa ba số nguyên \(n\), \(m\)\(k\): số thành phố, số con đường và số cửa hàng anime. Các thành phố được đánh số \(1,2,\dots,n\).

Dòng tiếp theo chứa \(k\) số nguyên: các thành phố có cửa hàng anime.

Cuối cùng có \(m\) dòng mô tả các con đường. Mỗi dòng chứa hai số nguyên \(a\)\(b\): có một con đường giữa hai thành phố \(a\)\(b\).

Output

In ra \(n\) số nguyên: với mỗi thành phố, khoảng cách nhỏ nhất đến một thành phố khác có cửa hàng anime. Nếu không có thành phố như vậy, in ra \(-1\).

Constraints

  • \(1 \le k \le n \le 10^5\)

  • \(0 \le m \le 2 \cdot 10^5\)

Example

Test 1

Input
9 6 4
2 4 5 7
1 2
1 3
1 8
2 4
3 4
5 6
Output
1 1 1 1 -1 1 -1 2 -1

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.