#P6122. [NEERC2016] Mole Tunnels

[NEERC2016] Mole Tunnels

题目描述

鼹鼠们在底下开凿了 nn 个洞,由 n1n-1 条隧道连接,对于任意的 i>1i>1,第 ii 个洞都会和第 i2\frac{i}{2}(取下整)个洞间有一条隧道,第 ii 个洞内还有 cic_i 个食物能供最多 cic_i 只鼹鼠吃。一共有 mm 只鼹鼠,第 ii 只鼹鼠住在第 pip_i 个洞内。

一天早晨,前 kk 只鼹鼠醒来了,而后 mkm-k 只鼹鼠均在睡觉,前 kk 只鼹鼠就开始觅食,最终他们都会到达某一个洞,使得所有洞的 cic_i 均大于等于该洞内醒着的鼹鼠个数,而且要求鼹鼠行动路径总长度最小。现对于所有的 1km1 \le k \le m,输出最小的鼹鼠行动路径的总长度,保证一定存在某种合法方案。

输入格式

第一行两个数 n,mn,m,表示有 nn 个洞,mm 只鼹鼠。 第二行 nn 个整数 cic_i 表示第 ii个洞的食物数。 第三行 mm 个整数 pip_i 表示第 ii只鼹鼠所在洞 pip_i

输出格式

输出一行 mm 个整数,第 ii 个整数表示当 k=ik=i 时最小的鼹鼠行动路径总长度。

5 4
0 0 4 1 1
2 4 5 2
1 1 2 4

提示

1n,m1051 \le n,m \le 10^50cim0 \le c_i \le m1pin1 \le p_i \le n