#487. 打饭

传统 2000 ms 1024 MiB
标准 IO
文本比较 dd 标签

题目描述

再晚一秒就饿4了。

小A来到桃园餐厅就餐。桃园食堂的窗口可以视为在一条直线上,第 ii 个窗口的位置距出发点距离为 ii 个单位。小A从位置 00 出发去打饭。小A可以在不超出窗口范围的前提下任意左右移动。在第 ii 个窗口,如果他没在这个窗口打过饭,则他可以向餐盘加入 aia_i 克食物(不可少打)。当他移动一个单位时,需要消耗 w+1w+1 单位能量,其中 ww 为他的餐盘上当前的食物重量总和。

现在他打算从起点出发,尽可能多的多打饭并回到起点。已知他的初始能量为 xx,请问他最多能打多少克食物(没出发过也算一种方案)。因为每一天小A的初始能量不一样,所以他会对你进行多次询问。

输入格式

第一行两个整数 n,q(1n105;1q105)n,q(1\le n \le 10^5;1\le q \le 10^5),代表窗口数和询问的次数。

第二行 nn 个整数 a1,a2...an(1ai106)a_1,a_2...a_n(1\le a_i \le 10^6),代表第 ii 个窗口可以打的食物量。

接下来连续的 qq 行,每行一个整数 x(1x106)x(1\le x \le 10^6),第 ii 行代表小A第 ii 天的初始能量。

输出格式

qq 行,每行一个整数,代表第 ii 天小A最多能打多少克的食物。

样例

输入样例

5 4
2 1 3 4 1
100
17
5
3

输出样例

11
5
2
0