CSES - Road Reparation | Sửa chữa đường

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: 1300 (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 giữa chúng. Thật không may, tình trạng của các con đường quá tệ đến nỗi chúng không thể đi được. Nhiệm vụ của bạn là sửa chữa một số con đường để có một tuyến đường đàng hoàng giữa hai thành phố bất kỳ.

Đối với mỗi con đường, bạn biết chi phí sửa chữa của nó, và bạn nên tìm một giải pháp trong đó tổng chi phí nhỏ nhất có thể.

Input

  • Dòng đầu vào đầu tiên có hai số nguyên \(n\)\(m\): số lượng thành phố và con đường. Các thành phố được đánh số \(1,2,\ldots,n\)
  • Sau đó, có \(m\) dòng mô tả các con đường. Mỗi dòng có ba số nguyên \(a\), \(b\)\(c\): có một con đường giữa thành phố \(a\)\(b\), chi phí sửa chữa của nó là \(c\). Tất cả con đường đều là con đường hai chiều
  • Mỗi con đường nối những cặp thành phố khác nhau, và có nhiều nhất một con đường giữa hai thành phố bất kì

Constraints

  • \(1 \leq n \leq 10^5\)
  • \(1 \leq m \leq 2\cdot 10^5\)
  • \(1 \leq a, b \leq n\)
  • \(1 \leq c \leq 10^9\)

Output

  • In một số nguyên: tổng chi phí sửa chữa tối thiểu. Tuy nhiên, nếu không có giải pháp, hãy in IMPOSSIBLE

Example

Test 1

Input
5 6
1 2 3
2 3 5
2 4 2
3 4 8
5 1 7
5 4 4
Output
14

Bình luận

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

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