Cho đồ thị vô hướng liên thông có \(n\) đỉnh (các đỉnh đánh số từ \(1\) đến \(n\)) và \(n - 1\) cạnh. Đỉnh \(i\) có trọng số là \(a_{i}\ (1 \leq i \leq n)\).
Gọi \(M(x,y)\) là trọng số lớn nhất của các đỉnh trên đường đi từ đỉnh \(x\) đến đỉnh \(y\) và \(S(x,y)\) là tổng trọng số của các đỉnh trên đường đi từ đỉnh \(x\) đến đỉnh \(y\).
Hãy đếm số cặp \((x,y)\ \)thỏa mãn
Dữ liệu vào:
Dòng đầu là một số nguyên \(n\ (1 \leq n \leq {2 \times 10}^{5})\) là số đỉnh của đồ thị;
Dòng tiếp theo gồm \(n\) số nguyên \(a_{1},a_{2},\ldots,\ a_{n}(1 \leq a_{i} \leq 10^{9})\);
\(n - 1\) dòng tiếp theo, mỗi dòng là hai số nguyên \(u,\ v\ (1 \leq u,v \leq n)\) mô tả một cạnh nối giữa hai đỉnh \(u\) và \(v\).
Kết quả:
Ghi ra một số duy nhất là số cặp \((x,y)\) thỏa mãn yêu cầu đề bài.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
5 1 1 1 1 1 1 2 1 3 1 4 1 5 | 6 | 6 cặp \((x,y)\) thỏa mãn là: \((2,3)\), \((2,4)\),\(\ (2,5)\),\(\ (3,4)\),\(\ (3,5)\),\(\ (4,5)\). |
Input | Output | Giải thích |
5 10 3 8 1 2 1 2 1 3 2 4 2 5 | 3 | 3 cặp \((x,y)\) thỏa mãn là: \((2,3)\), \((3,4)\),\(\ (3,5)\). |
Chú ý:
Subtask 1 (30% số điểm): \(n \leq 1000\);
Subtask 2 (10% số điểm): \(a_{i} = 1\ (1 \leq i \leq n)\);
Subtask 3 (20% số điểm): Không có đỉnh nào của đồ thị có bậc lớn hơn 2;
Subtask 4 (10% số điểm): \(n \leq 50000\);
Subtask 5 (30% số điểm): Không có ràng buộc bổ sung.
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |