A71242.小枫爬山
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
小枫正在爬山,现在他面前有 n 个台阶,其中第 i (1≤i≤n) 个台阶的高度 hi 。
小枫爬累了决定休息一会,于是他坐在台阶上观察后面的爬山者爬山。小枫总共观察了 m 个爬山者,第 i 位爬山者的腿长 bi ,当下一级台阶与当前这级台阶的高度差超过 bi 时,就没法再往上爬了。
请问这 m 位爬山者各自能爬到的最大高度是多少?
输入格式
第一行输入两个正整数 n,m (1≤n,m≤5×105) ,分别表示台阶数量和爬山者的数量。
第二行输入 n 个正整数 hi (1≤hi≤109) ,表示第 i 级台阶的高度,对于 1≤i≤n−1 ,保证 hi≤hi+1。
第三行输入 m 个整数 bi (0≤bi≤109) ,表示第 i 个爬山者的腿长。
输出格式
输出一行 m 个整数,分别表示第 i 个爬山者最高能爬到的高度。
输入输出样例
输入#1
4 5 1 3 4 9 1 2 4 9 10
输出#1
1 4 4 9 9
说明/提示
样例解释
第 1 位爬山者最多只能爬到第 1 级台阶,因为 h2>b1 ,所以他无法爬到第二级台阶。
第 2 和第 3 位爬山者最多只能爬到第 3 级台阶。
第 4 和第 5 位爬山者可以爬完这 4 级台阶。