trang chủ / bài tập / treecost

Cây có chi phí lớn nhất

Đề bài

Mô tả

Cho một cây gồm đúng n đỉnh. Đỉnh thứ v của cây được gán một giá trị av.

Gọi dist(x,y) là khoảng cách giữa hai đỉnh xy, tức số cạnh trên đường đi đơn nối chúng.

Chi phí của cây được định nghĩa như sau: chọn cố định một đỉnh v bất kì, khi đó chi phí bằng

i=1ndist(i,v)·ai

Hãy tính chi phí lớn nhất có thể của cây khi được chọn đỉnh v tuỳ ý.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n là số đỉnh của cây.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an, trong đó ai là giá trị của đỉnh i.
  • n1 dòng tiếp theo, mỗi dòng chứa hai số nguyên uivi mô tả một cạnh của cây.

Dữ liệu đảm bảo các cạnh đã cho tạo thành một cây.

Dữ liệu ra

In ra một số nguyên duy nhất là chi phí lớn nhất có thể của cây.

Ràng buộc

  • 1n2·105
  • 1ai2·105
  • 1ui,vin, uivi

Ví dụ

Input Output Giải thích
8
9 4 1 7 10 1 6 5
1 2
2 3
1 4
1 5
5 6
5 7
5 8
121 Chọn v=3, chi phí bằng 2·9+1·4+0·1+3·7+3·10+4·1+4·6+4·5=121. Không có đỉnh nào cho chi phí lớn hơn.
1
1337
0 Cây chỉ có một đỉnh nên mọi khoảng cách đều bằng 0.
2
12345 65432
2 1
65432 Chọn v=1 được 0·12345+1·65432=65432, còn chọn v=2 chỉ được 12345.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 csc 6.12.0.200 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 kotlinc 2.4.10 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0