Tree Kadane
시간 제한3초메모리 제한1024 MB
가중치가 있는 트리에서 정점 하나의 가중치를 바꾸는 갱신이 주어질 때마다, 공집합이 아닌 연결 부분 집합의 합의 최댓값을 출력한다.
문제
부터 까지 번호가 매겨진 개의 정점으로 이루어진 트리 가 주어진다. 각 번 정점은 정수 가중치 를 가진다.
의 연결 부분 집합 는 의 정점들의 공집합이 아닌 부분 집합으로, 에 속하는 두 정점 , 에 대해 에 속한 정점만을 사용하는 에서 로 가는 경로가 에 존재한다.
다음 개의 쿼리를 처리해야 한다.
- : 를 로 바꾸고 의 연결 부분 집합 에 대한 의 최댓값을 출력한다.
입력
첫 번째 줄에 정점의 개수를 나타내는 정수 이 주어진다.
두 번째 줄에 각 정점의 가중치를 나타내는 개의 정수 이 공백으로 구분되어 주어진다.
다음 개의 줄 중 번째 줄에 두 정수 와 가 공백으로 구분되어 주어진다. 이들은 번째 간선의 양 끝 점을 나타낸다.
다음 줄에 쿼리의 개수를 나타내는 정수 가 주어진다.
다음 개의 줄에 걸쳐 각 줄에 각 쿼리를 나타내는 두 정수 와 가 공백으로 구분되어 주어진다.
출력
개의 줄에 걸쳐 쿼리의 정답을 한 줄에 하나씩 출력한다.
제한
- ()
- ()
- 주어지는 그래프는 트리이다.
- 각 쿼리에 대해
- 각 쿼리에 대해