输出:
[]
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

python解法

def parse_input():
    # 解析输入,获取总容量、数组长度和球的数量数组
    total, length = map(int, input().split())  # 输入总容量和数组长度
    balls = list(map(int, input().split()))    # 输入每个桶的球数量
    return total, length, balls

def calculate_removed_balls(total, balls, length):
    current_sum = sum(balls)  # 计算当前球的总数
    if current_sum <= total:
        return "[]"  # 如果总数已经小于或等于总容量,无需移除

    max_capacity = max(balls)          # 最大球数量
    min_capacity = total // length     # 计算理论上的最小分配容量

    # 初始结果数组,计算每个桶超出的球数量
    result = [x - min_capacity if x > min_capacity else 0 for x in balls]

    # 使用二分搜索优化移除球的数量
    while max_capacity - min_capacity > 1:
        mid_capacity = (max_capacity + min_capacity) // 2  # 计算中间值
        # 临时结果数组,假设移除到 mid_capacity
        tmp_result = [x - mid_capacity if x > mid_capacity else 0 for x in balls]
        remaining_sum = current_sum - sum(tmp_result)  # 计算移除后的总和

        if remaining_sum > total:
            max_capacity = mid_capacity  # 总和仍大于总容量,减少容量
        elif remaining_sum < total:
            min_capacity = mid_capacity  # 总和小于总容量,增加容量
            result = tmp_result          # 更新结果数组
        else:
            result = tmp_result  # 精确匹配,直接返回结果
            break

    # 返回结果数组的字符串形式
    return "[" + ",".join(map(str, result)) + "]"

def main():
    total, length, balls = parse_input()  # 解析输入
    print(calculate_removed_balls(total, balls, length))  # 计算并输出结果

if __name__ == "__main__":
    main()

 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

java解法

更新中
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

C++解法

更新中
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

C解法

更新中
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

JS解法

更新中
 class="hljs-button signin active" data-title="登录复制" data-report-click="{"spm":"1001.2101.3001.4334"}">

注意:

如果发现代码有用例覆盖不到的情况,欢迎反馈!会在第一时间修正,更新。
解题不易,如对您有帮助,欢迎点赞/收藏

注:本文转载自blog.csdn.net的CodeClimb的文章"https://blog.csdn.net/CodeClimb/article/details/144539118"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接

评论记录:

未查询到任何数据!