Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:512 MB

#3287. 松鼠跳峡谷

统计

题目背景

小松鼠想要穿过一座峡谷去对面的橡树林收集橡果。峡谷中有一些悬浮的木板作为落脚点,每次跳跃后木板的耐久度会减少。松鼠需要找到最小的跳跃能力,确保能完成多次往返。

题目描述

峡谷宽度为 m 米,共有 m-1 块木板(可能为空)。松鼠每天去橡树林 1 次,连续 k 天,总共需要往返 2k 次。给定每块木板的初始耐久度 D_i,当松鼠从一块木板起跳,其耐久度减 1,耐久度为 0 时无法再次使用。
跳跃规则:
1. 每次跳跃距离 ≤ y(跳跃能力)
2. 必须落在木板或对岸

输入格式

第一行:m(峡谷宽度),k(天数)
第二行:m-1 个整数,表示 D_1 到 D_{m-1}(0 表示无木板)

输出格式

松鼠需要的最小跳跃能力 y

示例输入

6 3

0 4 0 2 5

示例输出

3

样例解释

当 y=3 时,所有长度为 3 的区间耐久度总和 ≥ 6(2k=6),例如区间 [2-4] 总和为 4+0+2=6,满足条件。更小的 y 无法覆盖所有需求。

评测用例规模与约定

对于 $30 \%$ 的评测用例,$m \leq 100$; 对于 $60 \%$ 的评测用例,$m \leq 1000$; 对于所有评测用例,$1 \leq m \leq 10^{5}, 1 \leq k \leq 10^{9}, 0 \leq D_{i} \leq 10^{4}$ 。