비밀 기지

아직 제출이 없습니다시간 제한7초메모리 제한1024 MB

문제

설곽국은 1부터 NN까지의 번호가 매겨진 N개의 도시로 이루어진 국가이다. 도시 사이에는 두 도시를 연결하는 N1N-1개의 도로가 존재하며 모든 도시들은 연결되어 있다. 모든 도로의 길이는 11으로 같다.

어느 날 이웃 나라 경곽국에서 침공을 한다는 소식이 들려오자, 긴장한 설곽국의 사람들은 비밀 기지를 하나 짓기로 했다. 비밀 기지는 임시로 간단하게 짓기 때문에 쉽게 위치를 옮길 수 있다.

간편한 이동을 위해, 비밀 기지는 아래 성질을 만족하는 도시에 짓는다.

  • 비밀 기지를 xx번 도시에 지었을 때, 모든 사람들이 비밀 기지가 있는 xx번 도시로 이동하기 위한 이동 거리의 합 f(x)=_i=1nA_i×dist(i,x)f(x)=\sum\_{i=1}^n A\_i \times \text{dist}(i, x)를 정의하자. 이때 dist(x,y)\text{dist}(x, y)xx번 도시와 yy번 도시와 사이의 거리이다.
  • 비밀 기지는 모든 도시 중 f(x)f(x)가 최소가 되는 도시 xx에 짓는다. 이러한 도시가 여러 개라면 아무 곳에나 짓는다.

설곽국에 사는 브루는 비밀 기지를 짓고 나서 사람들의 이동 거리의 총합을 알고자 한다.

그런데 시간이 지남에 따라 정확히 QQ번, 어떤 방에 있는 사람의 수가 변한다. 각각의 변화가 일어난 뒤에 이동 거리의 총합이 변할 수 있고, 이 때문에 비밀 기지가 이동할 수도 있다. 이때 비밀 기지로의 이동 거리 총합을 각 시간대에 대해 모두 구하여라.

입력

첫 줄에는 도시의 개수 NN과 변화 횟수 QQ가 주어진다.

둘쨰 줄에는 각 도시에 있는 사람의 수 A_1A\_1, A_2A\_2, \cdots, A_NA\_N이 공백을 사이에 두고 주어진다.

셋째 줄부터 N1N-1개의 줄에는 설곽국의 구조가 주어진다. 이들 중 ii번째 줄에는 두 정수가 x_ix\_i y_iy\_i의 형태로 주어진다. ii번째 도로는 x_ix\_i번 도시와 y_iy\_i번 도시를 연결한다는 뜻이다.

N+2N+2번 줄부터 QQ개의 줄에는 변화가 v_iv\_i d_id\_i의 형태로 주어진다. v_iv\_i번 도시에 있는 사람의 수가 d_id\_i명으로 바뀐다는 뜻이다.

출력

초기 상태와, 그로부터 QQ번의 인구 변화가 일어났을 때, 모든 사람의 비밀 기지로의 이동 거리 합을 Q+1Q+1줄에 걸쳐 출력한다.

제한

  • 2N2×1052 \le N \le 2 \times 10^5
  • 2Q2×1052 \le Q \le 2 \times 10^5
  • 1A_i1061 \le A\_i \le 10^6 (1iN1 \le i \le N)
  • 1x_iN1 \le x\_i \le N
  • 1y_iN1 \le y\_i \le N
  • 입력으로 올바른 트리가 주어짐이 보장된다.
  • 1v_iN1 \le v\_i \le N (1iQ1 \le i \le Q)
  • 1d_i1061 \le d\_i \le 10^6 (1iQ1 \le i \le Q)

힌트

두 도시 aabb의 거리는 도시 aa에서 도시 bb로 가장 적은 수의 도로를 이용해 이동할 때 지나는 도로의 개수이다.