트리
시간 제한2초메모리 제한1024 MB
가중치가 있는 루트 트리에서 모든 부분트리의 계수 합이 L 이상 R 이하가 되도록 계수를 정할 때, |C[i]|×W[i] 합의 최솟값을 구합니다.
문제
정점이 개인 트리를 생각합니다. 정점은 0번부터 번까지 번호가 붙어 있습니다. 0번 정점을 루트라고 합니다. 루트를 제외한 모든 정점은 부모가 정확히 하나 있습니다. 을 만족하는 각 에 대해 정점 의 부모는 이며, 입니다. 또한 로 둡니다.
임의의 정점 ()에 대해, 정점 의 서브트리는 자신, 부모가 인 정점, 조부모가 인 정점, 증조부모가 인 정점 등을 모두 포함하는 정점의 집합입니다.
아래 그림은 정점이 개인 트리의 예입니다. 루트를 제외한 각 화살표는 정점에서 부모를 가리킵니다. 정점 2의 서브트리는 정점 2, 3, 4, 5를 포함합니다. 정점 0의 서브트리는 6개 정점 전부를 포함하고, 정점 4의 서브트리는 정점 4만 포함합니다.

각 정점에는 음이 아닌 정수 가중치가 주어집니다. 정점 의 가중치는 로 나타냅니다.
개의 질의에 답하는 프로그램을 작성해야 합니다. 각 질의는 양의 정수 쌍 로 주어지며, 답은 다음과 같이 계산합니다.
각 정점에 정수인 계수를 하나씩 배정합니다. 이 배정은 수열 로 나타내며, 는 정점 의 계수입니다. 이 수열을 계수 수열이라고 합니다. 계수는 음수, 0, 양수 중 무엇이든 될 수 있습니다.
질의 에 대해, 모든 정점 ()에서 정점 의 서브트리에 속한 정점들의 계수 합이 이상 이하이면, 그 계수 수열을 유효하다고 합니다.
계수 수열에서 정점 의 비용은 입니다. 전체 비용은 모든 정점의 비용을 더한 값입니다. 각 질의에 대해 유효한 계수 수열 중 전체 비용의 최솟값을 구하세요.
어떤 질의에 대해서도 유효한 계수 수열이 적어도 하나 존재함이 증명되어 있습니다.
제한
- 인 각 에 대해
- 인 각 에 대해
- 각 질의에서