A71242.小枫爬山

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

小枫正在爬山,现在他面前有 nn 个台阶,其中第 ii (1in)(1\leq i\leq n) 个台阶的高度 hih_i

小枫爬累了决定休息一会,于是他坐在台阶上观察后面的爬山者爬山。小枫总共观察了 mm 个爬山者,第 ii 位爬山者的腿长 bib_i ,当下一级台阶与当前这级台阶的高度差超过 bib_i 时,就没法再往上爬了。

请问这 mm 位爬山者各自能爬到的最大高度是多少?

输入格式

第一行输入两个正整数 n,mn,m (1n,m5×105)(1\leq n,m\leq 5\times 10^5) ,分别表示台阶数量和爬山者的数量。

第二行输入 nn 个正整数 hih_i (1hi109)(1\leq h_i\leq 10^9) ,表示第 ii 级台阶的高度,对于 1in11\leq i \leq n-1 ,保证 hihi+1h_i\leq h_{i+1}

第三行输入 mm 个整数 bib_i (0bi109)(0\leq b_i\leq 10^9) ,表示第 ii 个爬山者的腿长。

输出格式

输出一行 mm 个整数,分别表示第 ii 个爬山者最高能爬到的高度。

输入输出样例

  • 输入#1

    4 5
    1 3 4 9
    1 2 4 9 10

    输出#1

    1 4 4 9 9 

说明/提示

样例解释

11 位爬山者最多只能爬到第 11 级台阶,因为 h2>b1h_2>b_1 ,所以他无法爬到第二级台阶。

22 和第 33 位爬山者最多只能爬到第 33 级台阶。

44 和第 55 位爬山者可以爬完这 44 级台阶。

首页