小灰灰的火焰星球2
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}在宇宙的最深处有一个神奇的星球,这个星球的形状类似一条直线,在这个星球的最左边(坐标为 0 处)有一个十分强力的火山,火山会影响这个星球的每一个地方的温度,温度会随着离火山的距离越远而越低
\hspace{15pt}有一天小灰灰因为不写作业被发配到了这个星球上去,他需要收集足够的学分才能够回到地球。这个星球可以看成一条长度为 n+1 坐标轴,每一个整数点都有两个数值,一个 v 代表这个点存在的学分,一个 h 代表当前点的温度。
\hspace{15pt}由于星球中的生物神通广大,所以这个星球不遵循能量守恒定律,每天 0 点的时候学分都会刷新(即一个地点的学分在某天被收集后,在之后满足条件的日子里仍然可以被再次收集),并且每天每个地方的温度都是不变的。
\hspace{15pt}每天他都能获得一个法力值为 x 魔法法杖,可以保护他前往至多两处温度小于 x 的地方收集学分。
\hspace{15pt}小灰灰共有 T 天可以收集学分。他会告诉你每天获得的魔法法杖的法力值,请你帮他算一算,他最多一共能收集多少学分。

输入描述:

\hspace{15pt}第一行输入两个整数 n,T \left(1 \le n,T \le 10^5\right),表示可收集学分的地点数、小灰灰可以收集学分的天数。
\hspace{15pt}第二行输入 n 个整数 h_1,h_2,\dots,h_n \left(1 \le h_i \le 10^5;\,h_n \leq h_{n-1} \leq \cdots \leq h_1\right),表示每个点的温度。
\hspace{15pt}第三行输入 n 个整数 v_1,v_2,\dots,v_n \left(1 \le v_i \le 10^5\right),表示每个点的学分。
\hspace{15pt}此后 T 行,第 i 行输入一个整数 x_i \left(0 \le x_i \le 10^5\right),表示第 i 天的魔法法杖的法力值。

输出描述:

\hspace{15pt}输出一个整数,表示最多能够收集的学分。
示例1

输入

复制
5 2
9 7 5 3 1
2 7 8 1 4
5
6

输出

复制
17

说明

\hspace{15pt}在这个样例中,唯一的最优收集方案是:
\hspace{23pt}\bullet\,第一天,收集第四、五个地点的学分,得到 1 + 4 = 5 学分;
\hspace{23pt}\bullet\,第二天,收集第三、五个地点的学分,得到 4 + 8 = 12 学分;
\hspace{15pt}一共收集 5 + 12 = 17 学分,我们可以证明,这是最多能够收集的学分。
示例2

输入

复制
10 5
998 443 224 157 132 99 93 45 32 31
31 32 45 93 99 132 157 224 443 998
99
45
133
1000
997

输出

复制
7205