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

OD C卷 - 剩余银饰的重量

文章目录

  • 剩余银饰的重量

剩余银饰的重量

  • 有n块银饰,每块的重量都是正整数,收集到的银饰会被熔化用于打造新的饰品;
  • 每一回合,从中选出三块最重的银饰,一起熔化;假设三块的重量分别为x、y、z且x<=y<=z,熔化可能结果如下:
    • 若xyz,则三块都会被完全熔化;
    • 若x==y且y!=z,则会剩余重为 z-y 的银块无法熔化;
    • 若x!=y且y==z,会剩余 y-x 的银块无法熔化;
    • 若 x!=y 且y!=z,则会剩余 (z-y) 与 (y-x)差值的银块无法熔化(差值结果为正整数);
  • 最后若剩余两块,则返回较大的重量;若剩下一块,返回该块重量;若没有剩余则返回0

输入描述:
第一行输入银饰数组长度n,【1, 40】
第二行为银饰的重量
输出描述:
若剩余两块,则返回较大的重量;若剩下一块,返回该块重量;
若没有剩余则返回0

示例1
输入:
3
1 1 1
输出:
0
说明:
最后没有剩下银块,故返回0

示例2
输入:
3
3 7 10
输出:
1
说明:
选出3 7 10,需要计算(7-3)- (10-7)= 1,数组转为[1],剩余一块,返回1

 
思路:
简单的过程模拟


n = int(input().strip())
arr = list(map(int, input().strip().split()))while len(arr) >= 3:arr.sort()x = arr.pop(0)y = arr.pop(0)z = arr.pop(0)if x == y == z:continueelif x == y and y != z:arr.append(z-y)elif x != y and y == z:arr.append(y-x)elif x != y and y != z:arr.append(abs((z-y)-(y-x)))if len(arr) == 2:print(max(arr))
elif len(arr) == 1:print(arr[0])
elif not arr:print(0)
http://www.dtcms.com/a/403778.html

相关文章:

  • Linux 用户和组管理
  • phpstudy建设网站教程网站快捷导航ie怎么做
  • 网站颜色字体颜色网站建设宀金手指花总十五
  • 毕赤酵母(K. phaffii)番茄红素细胞工厂构建:材料方法详解与关键技术细节
  • SpringCloud项目阶段八:利用redis分布式锁解决集群状态下任务抢占以及实现延迟队列异步审核文章
  • 广州seo网站多少钱河北邯郸seo网站建设网站优化
  • 湘潭市建设路学校网站国内最新新闻事件今天
  • .NET MVC 框架基础大全
  • 系统性学习C++-第一讲-C++入门基础
  • MySQL笔记9
  • 【算法】day5 二分查找
  • 2016年做网站好不好上海百姓网
  • 什么是推免生?具备哪些条件才能保研成功?
  • 11. Linux 防火墙管理
  • 江苏专业网站建设公司电话手机淘宝官网首页
  • 百度 如何 关键字 网站域名 关联网站loading动画效果
  • 【大模型LLM面试合集】有监督微调_微调
  • 网站的广告语应该怎么做临海外发加工网
  • MySQL-主从复制
  • 杭州 网站设计制作怎么把图片做超链接到网站
  • 深度学习与大脑的关系是“模拟-验证-超越”的迭代循环
  • 05 初始化
  • Python print()函数详解
  • 2025 PHP7/8 实战入门:15 天精通现代 Web 开发——第 5 课:数组与字符串处理
  • 网站底部放什么wordpress免费主题 开源
  • 时态--10--现在完成进⾏时
  • 新手建站网站内做动图
  • 超越工具链整合:价值流智能时代的企业级DevOps平台选型之道
  • LLMs之ThinkingModel:DeepSeek-V3.1的简介、安装和使用方法、案例应用之详细攻略
  • 数组(Java基础语法)