EIUWBT - Cây cân bằng (yếu)
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ớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch
Cho dữ liệu mô tả cây, hãy viết chương trình tìm đỉnh có chỉ số nhỏ nhất làm gốc và thỏa mãn các điều kiện sau:
- Đỉnh gốc có đúng ~2~ nhánh con, mỗi nhánh có ít nhất một node.
- Gọi ~TW_1~ là tổng trọng số của nhánh con thứ nhất, ~TW_2~ là tổng trọng số của nhánh con thứ hai, thì ~|TW_1 – TW_2|~ có giá trị nhỏ nhất.
Input
- Dòng đầu tiên là số node của cây ~N~ ~(0 < N ≤ 10^5)~. Các node được đánh số từ ~1~ đến ~N~.
- Dòng tiếp theo chứa ~N~ số nguyên ~w_i~ ~(0 < w_i ≤ 10^9)~, là trọng số của node thứ ~i~.
- Dòng thứ ~i~ trong ~N-1~ dòng tiếp theo gồm ~2~ số nguyên ~u_i~, ~v_i~ cho biết có cạnh nối ~u_i~ và ~v_i~
Note: ~80\%~ Testcases có ~N~ không vượt quá ~1000~
Output
- In ra chỉ số của đỉnh gốc và tổng trọng số của hai nhánh con theo thứ tự tăng dần. Nếu không tồn tại đỉnh gốc, in ra
-1.
Example Input
4
2 3 1 4
1 2
1 3
2 4
Example Output
2 3 4
Bình luận