开放日活动
题目
某部门开展 Family Day 开放日活动,其中有个从桶里取球的游戏,
游戏规则如下:有 N 个容量一样的小桶等距排开,
且每个小桶都默认装了数量不等的小球,
每个小桶装的小球数量记录在数组bucketBallNums
中,
游戏开始时,要求所有桶的小球总数不能超过SUM
,
如果小球总数超过SUM
,则需对所有的小桶统一设置一个容量最大值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]
说明
小球总数为22
,SUM=14
,超出范围了,需从小桶取球,
maxCapacity=1
,取出球后,桶里剩余小球总和为7
,远小于14
maxCapacity=2
,取出球后,桶里剩余小球总和为13
,
maxCapacity=3
,取出球后,桶里剩余小球总和为16
,大于14
因此maxCapacity为2
,每个小桶小球数量大于 2 的都需要拿出来;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UliUHrBl-1676107611618)(.\images\Snipaste_2023-02-06_13-36-44.png)]
示例二
输入
3 3
1 2 3
输出
[0,1,2]