U455627 XJB的促销活动
题目背景
$F$ 超市职员 $xjb$ 作为一位资深的铁公鸡,身上总有个询价表以方便他追求性价比,我们可以把询价表看做一个有 $n$ 个物品的集合 $A$,正整数 $a_i$ 表示物品 $i$ 的美丽程度,相似度 $b_i = a_i \bmod 2$。\
一天,$F$ 超市进行了一场促销活动,不过由于老板的看重,促销活动落到了 $xjb$ 的身上,为了赚钱 $xjb$ 打算偷偷进行若干次的操作:
+ 对于任意 $1 \le l < r \le n$ ,若 $b_l = 1$,$b_r = 0$,则将 $a_l \leftarrow a_l - 1$,$a_r \leftarrow a_r + 1$。
+ 对于任意 $1 \le l < r \le n$ ,若 $b_l = 0$,$b_r = 1$,则将 $a_l \leftarrow a_l + 1$,$a_r \leftarrow a_r - 1$。
由于 $xjb$ 擅自改动活动方式,老板打算降低 $xjb$ 的工资。对于每次操作,花费 $c_l + c_{r+1}$,$xjb$ 作为贪得无厌的奸商,自然希望自己的工资更高,但这 $n$ 个物品有个特性,那就是想要买下第 $i$ 件物品,需保证 $(\sum_{j=1}^i a_j) \equiv1\pmod{2}$。
现在有 $m$ 次询问,每次询问一个数 $x$,求当购买的物品数量为 $x$ 时的最小花费数。由于 $xjb$ 忙于刷题,所以这项任务交给了你。**每件物品最多促销一次。**
题目描述
通俗地讲,给定序列 $a_i$,$c_i$,$b_i = a_i \bmod 2$。
两种操作,**对于任意 $a_i$ 至多进行一次操作**:
+ $a_l \leftarrow a_l - 1$,$a_r \leftarrow a_r + 1$,$(b_l = 1,b_r = 0)$,花费 $c_l + c_r$。 $(1 \le l < r \le n)$
+ $a_l \leftarrow a_l + 1$,$a_r \leftarrow a_r - 1$,$(b_l = 0,b_r = 1)$,花费 $c_l + c_r$。 $(1 \le l < r \le n)$
$m$ 次询问,每次询问给出一个 $x$,问进行若干次操作后,是否存在
$$
\sum_{i=1}^n ((\sum_{j=1}^i a_j) \bmod 2) = x
$$
若存在,求此时的最小花费值,反之输出 $-1$。
输入格式
第一行两个正整数 $n$,$m$,表示序列长度和询问数。
第二行 $n$ 个正整数,表示序列 $a$。
第三行 $n$ 个正整数,表示序列 $c$。
接下来 $m$ 行,每行一个正整数 $x$,表示一次询问。
输出格式
共 $m$ 行,每行一个正整数,为最低花费数,若无法购买恰好 $x$ 个物品,输出 $-1$。
说明/提示
### 样例$1$解释:
对于询问 $2$,将 $a_1 \leftarrow a_1 + 1$,$a_4 \leftarrow a_4 - 1$,$(b_1 = 0,b_4 = 1)$。序列变为 $3,1,4,4,3$,总价值为 $2$,此时为最小花费 $2$。
对于询问 $3$,取 $l = 1$,$r = 2$ 时花费最小,为 $2 $。
对于询问 $1$,可证得没有可行方案。
### 数据范围:
对于 $30\%$ 的数据,$1 \le m \le n \le 500$。
对于 $100\%$ 的数据,$1 \le m \le n \le 5 \times 10^3$,$1 \le a_i,c_i \le 10^9$,$1 \le x \le n$。