AlgoMooc
← 返回题库

P3301. 食堂供餐

中等通过率 60% · 提交 727 · 通过 436
二分查找模拟

小慕负责公司食堂的盒饭供应工作。为了彻底消除员工取餐排队时间,食堂的必须足够快。现在需要根据以往员工取餐的统计数据,计算出一个刚好能让排队时间为零的最低供餐速度。也就是说,食堂在每个单位时间内至少需要做出多少份盒饭才能满足需求。

提示:带虚线的词点一下有通俗解释。

输入描述

第1行为一个正整数N,表示食堂开餐时长。1 <= N <= 1000 第2行为一个正整数M,表示开餐前食堂已经准备好的盒饭份数。Pi <= M <= 1000 第3行为N个正整数,用空格分隔,依次表示开餐时间内按时间顺序每个单位时间进入食堂取餐的人数Pi 1 <= i <= N,0 <= Pi <= 100

输出描述

一个整数,能满足题目要求的最低供餐速度(每个单位时间需要做出多少份盒饭)。

示例

示例 1

输入

3
14
10 4 5

输出

3

说明:本样例中,总共有3批员工就餐,每批人数分别为10、4、5。 开餐前食堂库存14份。食堂每个单位时间至少要做出3份餐饭才能达成排队时间为0的目标。具体情况如下: 第一个单位时间来的10位员工直接从库存取餐,取餐后库存剩余4份盒饭,加上第一个单位时间做出的3份,库存有7份。 第二个单位时间来的4员工从库存的7份中取4份,取餐后库存剩余3份盒饭,加上第二个单位时间做出的3份,库存有6份。 第三个单位时间来的员工从库存的6份中取5份,库存足够。 如果食堂在单位时间只能做出2份餐饭,则情况如下: 第一个单位时间来的10位员工直接从库存取餐,取餐后库存剩余4份盒饭,加上第一个单位时间做出的2份,库存有6份。 第二个单位时间来的4员工从库存的6份中取4份,取餐后库存剩余2份盒饭,加上第二个单位时间做出的2份,库存有4份。 第三个单位时间来的员工需要取5份,但库存只有4份,库存不够。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。