Đường đi lớn nhất

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1500 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

ami có một cái cây, mỗi nút có 1 giá trị. Độ dài của một đường đi từ \(u\) đến \(v\) là tổng các nút trên đường đi từ \(u\) đến \(v\). Tìm đường đi có độ dài lớn nhất.

Input

  • Dòng đầu tiên chứa \(t\) là số câu hỏi.
  • Mỗi câu hỏi có dạng sau:
    • Dòng đầu tiên chứa 1 số nguyên \(N\) là số đỉnh của cây.
    • Dòng tiếp theo chứa \(n\) số nguyên \(a_i\) là giá trị nút \(i\).
    • \(N-1\) dòng tiếp theo, mỗi dòng chứa 2 số \(u\) và \(v\) là một cạnh của cây.

Output

  • \(N\) số, số \(i\) là đường đi lớn nhất từ đỉnh \(i\) đến một đỉnh còn lại.

Example

Test 1

Input
1
3
1 2 3
1 2
3 2
Output
6 5 6
Note

Đường đi từ 1 đến 3 cho ra kết quả 6.

Đường đi từ 2 đến 3 cho ra kết quả 5.

Đường đi từ 3 đến 1 cho ra kết quả 6.

Giới hạn

  • \(\sum n \leq 5 \cdot 10^6\)
  • \(1 \leq a_i \leq 10^9\)
  • \(1 \leq u, v \leq N, u \neq v\)

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.