编程题
青蛙过河 ### 问题描述 小青蛙住在一条河边, 它想到河对岸的学校去学习。小青蛙打算经过河里 的石头跳到对岸。 河里的石头排成了一条直线, 小青蛙每次跳跃必须落在一块石头或者岸上。 不过, 每块石头有一个高度, 每次小青蛙从一块石头起跳, 这块石头的高度就 会下降 1 , 当石头的高度下降到 0 时小青蛙不能再跳到这块石头上(某次跳跃 后使石头高度下降到 0 是允许的)。 小青蛙一共需要去学校上 $x$ 天课, 所以它需要往返 $2 x$ 次。当小青蛙具有 一个跳跃能力 $y$ 时, 它能跳不超过 $y$ 的距离。 请问小青蛙的跳跃能力至少是多少才能用这些石头上完 $x$ 次课。 ### 输入格式 输入的第一行包含两个整数 $n, x$, 分别表示河的宽度和小青蛙需要去学校 的天数。请注意 $2 x$ 才是实际过河的次数。 第二行包含 $n-1$ 个非负整数 $H_{1}, H_{2}, \cdots, H_{n-1}$, 其中 $H_{i}>0$ 表示在河中与 小青蛙的家相距 $i$ 的地方有一块高度为 $H_{i}$ 的石头, $H_{i}=0$ 表示这个位置没有石 头。 ### 输出格式 输出一行, 包含一个整数, 表示小青蛙需要的最低跳跃能力。 ### 样例输入 ```txt 5 1 1 0 1 0 ``` ### 样例输出 ```text 4 ``` ### 样例说明 由于只有两块高度为 $1$ 的石头,所以往返只能各用一块。第 $1$ 块石头和对岸的距离为 $4$,如果小青蛙的跳跃能力为 $3$ 则无法满足要求。所以小青蛙最少需要 $4$ 的跳跃能力。 ### 评测用例规模与约定 对于 $30 \\%$ 的评测用例, $n \leq 100$; 对于 $60 \\%$ 的评测用例, $n \leq 1000$; 对于所有评测用例, $1 \leq n \leq 10^{5}, 1 \leq x \leq 10^{9}, 1 \leq H_{i} \leq 10^{4}$ 。
查看答案
赣ICP备20007335号-2