TREE2 - Điều chỉnh cây

Xem dạng PDF

Gửi bài giải

Điểm: 3,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Dì ghẻ thường hay bày trò bắt nạt Tấm, vấn đề lần này liên quan đến tin học.

Máy tính hiện lên một cây nhị phân có ~n~ nút (mỗi nút có nhiều nhất 2 con). Tại mỗi nút ~i~ có ghi một số nguyên ~a_i~. Mỗi thao tác Tấm được chọn một nút và lấy số ghi trong nút đó tăng lên hoặc giảm đi 1 đơn vị. Yêu cầu của dì ghẻ là Tấm phải chuyển cây về trạng thái thỏa mãn:

  • Số ghi trong mỗi nút lá bằng 0 hoặc 1,
  • Số ghi trong một nút nhánh bằng tổng các số ghi trong các nút con.

Yêu cầu: Hãy giúp cô Tấm tìm số thao tác ít nhất để thực hiện yêu cầu nêu trên.

Input

  • Dòng đầu chứa số ~n (1 \le n \le 5000)~,
  • Dòng thứ 2 chứa ~n~ số ~a_1, a_2, ..., a_n (\forall{i}: 0 \le a_i \le 5000)~
  • ~n-1~ dòng tiếp theo, mỗi dòng ghi 2 số ~x, y~ cho biết hai nút ~x, y~ có quan hệ cha-con. Nút 1 luôn luôn là gốc của cây.

Các số trên 1 dòng cách nhau bởi dấu cách.

Output

  • Ghi ra một số nguyên duy nhất là số thao tác ít nhất tìm được.

Sample

Input #1
5
5 1 3 0 1
1 2
1 3
3 4
3 5
Output #1
4

Problem source: PreVNOI Ⅶ (NINH BÌNH 2017)


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.