Median Heap

시간 제한4초메모리 제한2048 MB

요약
값과 변경 비용이 주어진 힙 모양 이진 트리에서, 주어진 중간값 교환 알고리즘이 루트에 목표값을 내놓도록 만드는 최소 총비용을 각 질의마다 구한다.
난이도

어려움10점 중 9점

유형
트리, 동적 계획법, 그리디, 수학
정답자
아직 제출이 없습니다

문제

Farmer John has a binary tree with NN nodes where the nodes are numbered from 11 to NN (1≤N<2⋅1051 \leq N < 2\cdot 10^5 and NN is odd). For i>1i>1, the parent of node ii is ⌊i/2⌋\lfloor i/2\rfloor. Each node has an initial integer value a_ia\_i, and a cost c_ic\_i to change the initial value to any other integer value (0≤a_i,c_i≤1090\le a\_i,c\_i\le 10^9).

He has been tasked by the Federal Bovine Intermediary (FBI) with finding an approximate median value within this tree, and has devised a clever algorithm to do so.

He starts at the last node NN and works his way backward. At every step of the algorithm, if a node would not be the median of it and its two children, he swaps the values of the current node and the child value that would be the median. At the end of this algorithm, the value at node 11 (the root) is the median approximation.

The FBI has also given Farmer John a list of QQ (1≤Q≤2⋅105)(1 \leq Q \leq 2\cdot 10^5) independent queries each specified by a target value mm (0≤m≤1090\le m\le 10^9). For each query, FJ will first change some of the node's initial values, and then execute the median approximation algorithm. For each query, determine the minimum possible total cost for FJ to make the output of the algorithm equal to mm.

입력

The first line of input contains NN.

The next NN lines each contain two integers a_ia\_i and c_ic\_i.

The next line contains QQ.

The next QQ lines each contain a target value mm.

출력

Output QQ lines, the minimum possible total cost for each target value mm.

예제1

  1. 예제 1

    입력
    5
    10 10000
    30 1000
    20 100
    50 10
    40 1
    11
    55
    50
    45
    40
    35
    30
    25
    20
    15
    10
    5
    
    예상 출력
    111
    101
    101
    100
    100
    100
    100
    0
    11
    11
    111