Chloe và những phần quà
Đề bài
Mô tả
Cho một cây có gốc gồm đỉnh, gốc là đỉnh . Mỗi đỉnh có một trọng số (có thể âm, dương hoặc bằng ).
Với một đỉnh bất kỳ, gọi cây con của là tập hợp gồm cùng tất cả các đỉnh nằm phía dưới (con, cháu... của ). Tổng của một cây con là tổng trọng số của mọi đỉnh thuộc cây con đó.
Hãy chọn ra hai đỉnh khác nhau và sao cho cây con của và cây con của không giao nhau (không có đỉnh nào thuộc cả hai cây con). Trong tất cả các cách chọn như vậy, hãy tìm giá trị lớn nhất của tổng hai cây con đã chọn.
Nếu không tồn tại cặp đỉnh nào thỏa mãn, in ra Impossible.
Dữ liệu vào
- Dòng đầu chứa số nguyên — số đỉnh của cây.
- Dòng thứ hai chứa số nguyên — trọng số của các đỉnh.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và () cho biết có một cạnh nối hai đỉnh và . Một trong hai đỉnh là cha của đỉnh còn lại; thứ tự có thể tùy ý.
Dữ liệu đảm bảo mọi đỉnh đều thuộc cây có gốc là đỉnh .
Dữ liệu ra
In ra một số nguyên — tổng lớn nhất có thể đạt được, hoặc Impossible nếu không thể chọn được cặp đỉnh hợp lệ.
Ràng buộc
- ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 8 0 5 -1 4 3 2 6 5 1 2 2 4 2 5 1 3 3 6 6 7 6 8 |
25 | Chọn cây con gốc (gồm các đỉnh , tổng ) và cây con gốc (gồm , tổng ). Hai cây con này rời nhau, cho tổng — lớn nhất có thể. |
| 4 1 -5 1 1 1 2 1 4 2 3 |
2 | Hai cây con rời nhau tốt nhất là đỉnh (tổng ) và đỉnh (tổng ), cho tổng . |
| 1 -1 |
Impossible | Cây chỉ có một đỉnh nên không thể chọn hai đỉnh có cây con rời nhau. |
Bình luận