问题 6739 --爬楼梯(staircase)

6739: 爬楼梯(staircase)

时间限制: 1 Sec  内存限制: 128 MB
提交: 79  解决: 24
[提交][状态][命题人:]

题目描述

做腻了常规的递推爬楼梯问题,小C有一天突发奇想,想到了一种新的爬楼梯问题。

现在小C面前总共有n级楼梯,第i级楼梯与上一级楼梯的高度差为a[i](a[1]表示第一级楼梯高度)。

一开始,小C处于0的高度,接下来小C产生了Q个疑问,假如他一次可以跳跃b[i]的高度,那么他最高可以来到哪一级楼梯的高度?假如小C当前在第i级楼梯,如果他可以跳到i+1级楼梯,当前仅当他的跳跃能力大于等于楼梯高度差,即:b>=a[i + 1]。当然小C可以落脚的位置只有楼梯处。

多个疑问让小C难以解决,于是他找到了你,希望你可以告诉他。

输入

第一行两个正整数n和Q,表示有n阶楼梯,Q个疑问。

第二行n个正整数a[i],表示第i级楼梯与上一级楼梯的高度差。

第三行Q个整数b[i],表示小C每个疑问可以跳跃的高度。

输出

输出一行,共Q个整数,第i个整数表示对于第i个疑问小C可以达到的最大高度。

样例输入
Copy
4 5
1 2 1 5
1 2 4 9 10
样例输出
Copy
1 4 4 9 9

提示

对于样例1,共4级楼梯,每级楼梯高度为1349

对于疑问1,可以跳跃的高度为1,那么只能跳到第一级楼梯,高度为1

对于疑问2,可以跳跃的高度为2,那么可以跳到第三级楼梯,高度为4

对于疑问3,可以条约的高度为3,那么可以跳到第三级楼梯,高度为4,三四级楼梯高度差为5,故无法跳上去。

对于疑问45,可以跳到第四级楼梯,高度为9


来源

 

[提交][状态]