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]