当前位置: 首页 > news >正文

luogu「EZEC-10」打分 --- Python3 解法

题目链接:
「EZEC-10」打分
 

import sys

def max_score(n, m, scores):
    scores.remove(min(scores)) # 最小值的选取,不影响中间部分的处理
    scores.sort()
    max_ = scores[-1]
    sum_ = sum(scores[:-1]) # 中间部分
    len_ = len(scores)

    needed = (len_ - 1) * max_ - sum_  # 中间部分对齐最大值的操作数

    if needed >= m: # 所给的操作次数 无法完全填满 ; 全部往中间部分凑
        return sum_ + m
    
    else: # 可操作次数大于needed,即中间部分对齐最大值后,仍有剩余
        m -= needed 

    turns , extra = divmod(m,len_) # m // len_ && m%len_ 均分是否有剩余
    
    if extra == 0: # 整除
        return max_ * len_ + turns * len_ - max_ - turns # 最大值:max_ + turns
    
    else: # 有余数
        return max_ * len_ + turns * len_ + extra -max_ - turns - 1 # 最大值:max_ + turns + 1 ,最大值比原来的最大值 max + turns 还大1

n, m = map(int, sys.stdin.readline().split())
scores = list(map(int, sys.stdin.readline().split()))
print(max_score(n, m, scores))

        注意正确处理”最大值的更新“部分,其实也可以用mod运算圈定增长的范围,我这一步之前没有做好,就换方法了.... 有ac的好方法,欢迎指正

http://www.dtcms.com/a/75511.html

相关文章:

  • libaom 源码分析:scalable_decoder.c 文件
  • 村民信息管理系统
  • SpringBoot可以同时处理多少请求?
  • 使用 Arduino 的基于物联网的空气污染监测系统
  • 群体智能优化算法-爱情进化算法 (Love Evolution Algorithm, LEA,含Matlab源代码)
  • 51c自动驾驶~合集24
  • RCore学习记录002
  • AI时代API安全挑战加剧,解读API防护的最佳方案
  • 浅谈鸿蒙跨平台开发框架ArkUI-X
  • Nginx 代理访问一个 Web 界面时缺少内容
  • S32K144入门笔记(十六):ADC的API函数解读
  • 洛谷 P3986 斐波那契数列
  • 【SoC基础】单片机常用总线
  • 银行数字化转型
  • Superagent 异步请求:如何处理复杂的 HTTP 场景
  • 【ARM】Linux内核驱动之ADC驱动开发,MAX11617驱动示例
  • 【技术】浏览器自动化框架的演变洞察
  • 安卓开发调用本地接口以及设置base_url思路
  • Flink Cdc TiDB详解
  • C++基础: Rule of five/zero/three
  • 机器学习中的分布统计量:从理论到应用
  • 【大模型】Token计算方式与DeepSeek输出速率测试
  • 单片机开发资源分析的实战——以STM32F103C8T6为例子的单片机资源分析
  • 机器学习中矩阵求导公式
  • ubuntu 根据src 包从新打包
  • 209. 长度最小的子数组
  • 【git】git管理规范--分支命名规范、CommitMessage规范
  • dockercompose如何重启单个服务和所有服务
  • 计算机网络笔记(四)——1.4计算机网络在我国的发展
  • FreeRTOSBug解析:一个任务printf打印一半突然跳转另一个任务,导致另一个任务无法打印