트리와 쿼리 23
시간 제한4초메모리 제한1024 MB
트리와 배열 A가 주어졌을 때, 구간 [l, r)의 각 인덱스까지 가중 거리 합을 최소로 하는 정점을 온라인으로 구합니다.
문제
개의 정점으로 이루어진 트리가 있다. 정점은 번부터 번까지 번호가 매겨져 있다. 추가로, 길이 의 정수 수열 이 주어진다.
을 만족하는 정수 , 정점 , 음이 아닌 정수 에 대해 를 정의한다. 여기서 는 두 정점 를 잇는 최단 경로의 길이이다.
다음 쿼리를 처리해야 한다.
l r d k: 를 최소화하는 를 출력하라. 이러한 가 유일함을 증명할 수 있다.
쿼리는 온라인으로 주어진다. 자세한 내용은 입력 부분을 참고하면 된다.
입력
첫째 줄에 트리의 크기 이 주어진다. ()
다음 개의 줄에 두 정수 가 주어진다. 두 정점 를 잇는 간선이 존재함을 뜻한다. ()
다음 줄에 수열 이 주어진다. ()
다음 줄에 쿼리의 개수 가 주어진다. ()
다음 개의 줄에 네 정수 가 주어진다. (, )
를 번 쿼리에 대한 답이라고 하자. () 번 쿼리에서 는 다음 식으로 복원한다. 는 입력으로 주어진 값을 그대로 쓰면 된다.
출력
개의 줄에 걸쳐 문제의 정답을 출력하라.