Lõi Năng Lượ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: 2500 Thời gian: 1.67s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho một cây gồm \(N\) đỉnh. Mỗi cạnh trên cây có một trọng số nguyên (có thể mang giá trị âm). Bạn cần chọn ra chính xác \(K\) đường đi đơn trên cây sao cho chúng không giao nhau về đỉnh (mỗi đỉnh thuộc tối đa một đường đi đã chọn). Một đường đi có thể chỉ gồm 1 đỉnh duy nhất (khi đó tổng trọng số của đường đi này bằng \(0\)). Hãy tìm tổng trọng số lớn nhất có thể đạt được của \(K\) đường đi này.

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(N\)\(K\).
  • \(N - 1\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(u, v, w\) mô tả một cạnh nối giữa đỉnh \(u\) và đỉnh \(v\) có trọng số \(w\).
  • \(1 \le K \le N \le 2 \cdot 10^5\).
  • \(-10^8 \le w \le 10^8\).
  • \(1 \le u,v \le N, u \neq v\)

Output

  • In ra một số nguyên duy nhất là tổng trọng số lớn nhất của chính xác \(K\) đường đi rời rạc.

Example

Test 1

Input
5 2
1 2 10
2 3 15
3 4 -5
4 5 20
Output
45

Bình luận (1)

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