K đường (Chọn ĐTQG Phú Thọ 2018-2019 (ngày 2))

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: CKPATHS.INP
Output: CKPATHS.OUT

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Cho một cây gồm ~n~ nút, các nút được đánh số ~1, 2, \dots, n~, nút ~i~ có trọng số ~a_i~.

Cần chọn ra ~k~ đường đi trên cây thỏa mãn:

  • Mỗi đường đi là một đường đi đơn, nghĩa là qua mỗi nút không quá một lần;
  • Một đường đi có thể suy biến chỉ gồm một nút;
  • Hai đường đi bất kì (trong số ~k~ đường) phải rời nhau, nghĩa là không có nút nào chung;
  • Tổng trọng số của tất cả các nút xuất hiện trong ~k~ đường đi là lớn nhất.

Biết ~n~, ~k~ và các thông tin về cây, hãy xác định tổng trọng số lớn nhất đạt được.

Dữ liệu

  • Dòng 1: hai số nguyên ~n, k~ (~1 \le k \le n \le 1000~);
  • Dòng 2: ~n~ số nguyên ~a_1, a_2, \dots, a_n~ (~|a_i| \le 10^9~);
  • Dòng 3, ..., ~n + 1~: mỗi dòng hai số nguyên ~u, v~ thể hiện một cạnh nối hai nút ~u, v~.

Kết quả

  • Dòng 1: số nguyên là tổng trọng số lớn nhất đạt được.

Ví dụ

CKPATHS.INP

7 2
3 -10 2 3 2 5 2
1 2
2 3
2 4
4 5
4 6
3 7

CKPATHS.OUT

14

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.