만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

이건 버그야!

시간 제한2초메모리 제한512 MB

요약
트리의 각 지역에 대해 요새 위치 x가 주어질 때, 지수 2^32 나머지로 계산한 지수 힘 차이의 최댓값을 구합니다.
난이도

어려움10점 중 9점

유형
트리, DFS, 분할 정복, 누적 합
정답자
아직 제출이 없습니다

문제

상민이와 지수가 전쟁 시뮬레이션 게임을 한다. 게임에는 NN개의 지역이 있으며, 각 지역은 전투력을 가지고 있다. 지역들은 N−1N-1개의 길로 연결되어 있으며, 연결된 지역 사이를 이동할 수 있다. 모든 지역은 방향이 없는 트리 구조를 이루므로, 임의의 지역에서 다른 지역으로 언제나 이동할 수 있다.

게임 한 판은 다음과 같이 진행된다.

  1. 상민이가 지역 하나를 골라 요새를 설치한다.
  2. 지수가 요새가 설치되지 않은 지역을 골라 자신의 선봉으로 지정한다. 선봉의 전방은 상민이의 요새를 향하는 방향이다.
  3. 지수 선봉의 후방 지역들은 모두 지수의 세력에 편입되어, 선봉과 함께 상민이의 요새를 공격한다.
  4. 상민이의 요새는 지수의 공격을 막는다. 요새의 전방은 지수의 공격이 들어오는 방향이다.
  5. 상민이 요새의 후방 지역들은 모두 상민이의 세력에 편입되어, 지수의 공격을 막는다.
  6. 지수 세력의 전투력이 상민이 세력의 전투력보다 크면 지수가 승리하고, 그렇지 않으면 패배한다.

각 세력의 전투력은 다음과 같이 계산된다.

∑u∈세력Au×(max⁡v∈세력(dist(P,v))−dist(P,u)+1)\sum_{u\in\text{세력}} A_u \times (\max_{v\in\text{세력}}(dist(P, v)) - dist(P, u) + 1)

여기서 PP는 플레이어가 각 세력의 요새 혹은 선봉으로 지정한 지역이고, dist(a,b)dist(a, b)는 지역 aa와 지역 bb 사이의 거리이다.

예를 들어, <그림 1>에서 지수의 세력은 {(2)×1}+{(3)×2}+{(8+6+1)×3}+{(2+7)×4}+{(4)×5}+{(5)×6}=139\{(2) \times 1\} + \{(3) \times 2\} + \{(8 + 6 + 1) \times 3\} + \{(2 + 7) \times 4\} + \{(4) \times 5\} + \{(5) \times 6\} = 139의 전투력을 갖는다.

<그림 1> 지수의 세력 예시

이 게임의 고인물인 지수는 게임에 버그가 있음을 알고 있다. 게임 내 전투력의 자료형이 unsigned int로 구현되어, 세력의 전투력이 232−12^{32}-1을 넘어가는 순간 오버플로우가 발생해 0부터 다시 시작하게 된다. 이 버그를 잘 이해하고 있는 지수는 버그를 적극 활용해 상민이에게 대승을 거두고자 한다.

입력

첫 줄에는 지역의 개수 NN, 진행될 게임의 횟수 QQ가 주어진다.

두 번째 줄부터 N−1N-1개의 줄에 걸쳐 지역 간 길의 정보가 주어진다. 각 줄에는 uu, vv (1≤u,v≤N1 \le u, v \le N)가 주어지며, 이는 uu번 지역과 vv번 지역이 연결되어 있다는 의미이다.

N+1N+1번째 줄에는 1번 지역부터 NN번 지역까지의 전투력 AiA_i (1≤i≤N1 \le i \le N)가 차례로 주어진다.

N+2N+2번째 줄부터 QQ개의 줄에 걸쳐 각 판마다 상민이가 요새를 설치한 지역의 번호 xx (1≤x≤N1 \le x \le N)가 주어진다.

출력

QQ개의 줄에 걸쳐 출력한다. 각 판마다 상민이가 지역 xx (1≤x≤N1 \le x \le N)에 요새를 설치했을 때, 지수가 선봉을 지정하여 얻을 수 있는 "지수의 전투력 - 상민이의 전투력"의 최댓값을 한 줄씩 출력한다.

제한

1≤Q≤1000001 \le Q \le 100000

0≤Ai<2320 \le A_i < 2^{32}

예제2

  1. 예제 1

    입력
    10 3
    1 2
    2 3
    3 4
    3 5
    4 6
    5 7
    5 8
    8 9
    9 10
    0 5 4 2 7 8 6 1 3 2
    1
    2
    5
    
    예상 출력
    139
    99
    -23
    
  2. 예제 2

    입력
    6 2
    1 2
    1 3
    1 4
    1 5
    1 6
    2147483646 1 1 1 1 1
    1
    3
    
    예상 출력
    1
    0