Kết nối các trường đại học
Đề bài
Mô tả
Cho một cây gồm thị trấn được nối với nhau bởi con đường hai chiều, sao cho từ một thị trấn bất kỳ luôn có thể đi tới mọi thị trấn khác. Mỗi con đường có độ dài bằng .
Trong số các thị trấn này có thị trấn (đôi một khác nhau) đặt trường đại học. Cần chia trường đại học này thành cặp, mỗi trường thuộc đúng một cặp. Với mỗi cặp, ta nối hai trường bằng một sợi cáp có độ dài bằng khoảng cách giữa hai thị trấn tương ứng (số con đường trên đường đi ngắn nhất giữa chúng).
Hãy tìm cách chia cặp sao cho tổng độ dài cáp của cặp là lớn nhất, và in ra tổng đó.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và .
- Dòng thứ hai chứa số nguyên phân biệt — chỉ số các thị trấn có trường đại học.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và cho biết có một con đường nối thị trấn và .
Dữ liệu ra
- In ra một số nguyên duy nhất là tổng khoảng cách lớn nhất khi chia trường đại học thành cặp.
Ràng buộc
- , các đôi một khác nhau.
- , đồ thị tạo thành là một cây.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 7 2 1 5 6 2 1 3 3 2 4 5 3 7 4 3 4 6 |
6 | Ghép trường ở thị trấn với và trường ở với cho tổng khoảng cách — là giá trị lớn nhất. |
| 9 3 3 2 1 6 5 9 8 9 3 2 2 7 3 4 7 6 4 5 2 1 2 8 |
9 | Tồn tại cách chia cặp với tổng khoảng cách bằng . |
Bình luận