Độ chênh lệch của cây

Đề bài

Mô tả

Cho một cây T gồm n đỉnh được đánh số từ 1 đến n. Trên đỉnh thứ i có ghi số nguyên ai.

Với hai đỉnh xy bất kỳ, gọi I(x,y) là hiệu giữa giá trị lớn nhất và giá trị nhỏ nhất trong các số được ghi trên những đỉnh nằm trên đường đi đơn nối x với y (tính cả hai đỉnh đầu mút). Đặc biệt, I(x,x)=0.

Hãy tính tổng

i=1nj=inI(i,j)

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên n, số đỉnh của cây.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.
  • n1 dòng tiếp theo, mỗi dòng chứa hai số nguyên xy, mô tả một cạnh nối đỉnh x với đỉnh y. Dữ liệu đảm bảo các cạnh này tạo thành một cây.

Dữ liệu ra

In ra một số nguyên duy nhất là tổng cần tính.

Ràng buộc

  • 1n105
  • 1ai106
  • 1x,ynxy

Ví dụ

Input Output Giải thích
4
2 2 3 1
1 2
1 3
1 4
6 Cây hình sao tâm tại đỉnh 1. Các cặp i<j cho giá trị I(1,2)=0, I(1,3)=1, I(1,4)=1, I(2,3)=1, I(2,4)=1, I(3,4)=2; mọi cặp i=j đều cho 0. Tổng bằng 6.
5
1 3 2 5 4
1 2
2 3
3 4
4 5
26 Cây là một đường thẳng 12345. Chẳng hạn đường đi từ 2 đến 5 đi qua các đỉnh mang giá trị 3,2,5,4 nên I(2,5)=52=3. Cộng toàn bộ 10 cặp i<j được 26.

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 dotnet 10.0.400 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 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 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 swipl 9.0.4 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 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0