3302: 【二分查找】2023A-开放日活动
金币值:
1
时间限制:2.000 s
内存限制:128 M
正确:184
提交:390
正确率:47.18% 命题人:
题目描述
某部门开展 Family Day 开放日活动,其中有个从桶里取球的游戏,游戏规则如下:有
N
个容量一样的小桶等距排开,且每个小桶都默认装了数量不等的小球,每个小桶装的小球数量记录在数组bucketBallNums
中,游戏开始时,要求所有桶的小球总数不能超过SUM
,如果小球总数超过SUM
,则需对所有的小桶统一设置一个尽可能大的容量最大值maxCapacity
,并需将超过容量最大值的小球拿出来,直至所有小桶里的小球数量均不大于maxCapacity
。
请您根据输入的数据,计算出尽可能大的容量最大值
maxCapacity
,并输出从每个小桶里拿出的小球数量。
限制规则一 如果所有小桶的小球总和小于
SUM
,则无需设置容量值,并且无需从小桶中拿球出来,返回结果[]
限制规则二 如果所有小桶的小球总和大于
SUM
,则需设置一个尽可能大的容量最大值maxCapacity
,并且需从小桶中拿球出来,返回从每个小桶拿出的小球数量组成的数组
输入格式
第一行输入2个正整数,数字之间使用空格隔开,其中第一个数字表示SUM,第二个数字表示bucketBallNums数组长度;
第二行输入N个正整数,数字之间使用空格隔开,表示bucketBallNums的每一项。
输出格式
一个数组,表示从每个小桶里拿出的小球数量。
输入样例 复制
14 7
2 3 2 5 5 1 4
输出样例 复制
[0, 1, 0, 3, 3, 0, 2]