P11673 [USACO25JAN] Median Heap G

题目描述

**注意:本题的时间限制为 4 秒,通常限制的 2 倍。** Farmer John 有一棵包含 $N$ 个结点的二叉树,结点编号从 $1$ 到 $N$($1 \leq N < 2\cdot 10^5$,$N$ 为奇数)。对于 $i>1$,结点 $i$ 的父结点为 $\lfloor i/2\rfloor$。每个结点都有一个初始整数值 $a_i$,以及将初始值修改为任意其他整数值的代价 $c_i$($0\le a_i,c_i\le 10^9$)。 他被联邦牛务局(Federal Bovine Intermediary,FBI)委托在这棵树中求出一个近似中位数值,并为此设计了一个聪明的算法。 他从最后一个结点 $N$ 开始向前执行。在算法的每一步,如果一个结点不是它和它的两个结点的中位数,他就交换当前结点和值为中位数的子结点的值。在这个算法结束时,结点 $1$(根结点)上的值即为近似中位数。 FBI 同时给 Farmer John 提供了一份包含 $Q$($1 \leq Q \leq 2\cdot 10^5$)个独立的询问的清单,每一个询问指定一个目标值 $m$($0\le m\le 10^9$)。对于每一个询问,FJ 首先会修改某些结点的初始值,然后执行近似中位数算法。对于每一个询问,求 FJ 使得算法输出等于 $m$ 所需要的最小总代价。

输入格式

输入的第一行包含 $N$。 以下 $N$ 行每行包含两个整数 $a_i$ 和 $c_i$。 以下一行包含 $Q$。 以下 $Q$ 行每行包含一个目标值 $m$。

输出格式

输出 $Q$ 行,为对于每一个目标值 $m$ 的最小总代价。

说明/提示

样例 1 解释 为了使近似中位数等于 $40$,FJ 可以将结点 3 的值修改为 $60$。这需要花费 $c_3=100$。 为了使近似中位数等于 $45$,FJ 可以将结点 3 的值修改为 $60$,结点 5 的值修改为 $45$。这需要花费 $c_3+c_5=100+1=101$。 - 测试点 $2\sim 4$:$N,Q\le 50$。 - 测试点 $5\sim 7$:$N,Q\le 1000$。 - 测试点 $8\sim 16$:没有额外限制。