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

OD C卷 - 王者荣耀游戏分组

王者荣耀游戏分组(100)

  • 输入10个整数值,范围在【1,10000】,不考虑异常输入;
  • 将所有整数值分为两部分,且两部分之和相差最小;
  • 输出最小差值;

示例1
输入
10 9 8 7 6 5 4 3 2 1
输出
1

 
from collections import defaultdict  # 获取的key 不存在时,调用默认的工厂函数,并返回
from bisect import bisect_left    # 向一个升序排列的列表中,插入一个元素时,返回要插入的索引位置 (目标左边插入)def min_diff(alist):# 分成两部分n = len(alist) // 2pre = alist[:n]latter = alist[n:]# 所有整数总和total = sum(alist)# 左边的 字典pre_dict = defaultdict(list)# 右边的字典latter_dict = defaultdict(list)#for i in range(2**n):sum_pre = 0sum_latter = 0for j in range(n):if i & 2**j:sum_pre += pre[j]sum_latter += latter[j]cnt = bin(i).count('1')pre_dict[cnt].append(sum_pre)latter_dict[cnt].append(sum_latter)# 根据key 对列表排序for k in pre_dict:pre_dict[k].sort()latter_dict[k].sort()# 取最小差值ans = float('inf')for k in pre_dict:for sum_pre in pre_dict[k]:i = bisect_left(latter_dict[n - k], (total - 2 * sum_pre) / 2)for j in [i - 1, i, i + 1]:if 0 <= j < len(latter_dict[n - k]):ans = min(ans, abs(2 * latter_dict[n - k][j] + 2 * sum_pre - total))return ansalist = list(map(int, input().strip().split()))
print(min_diff(alist))

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 顺序表,链表,顺序栈,顺序循环队列,链式队列的基本操作
  • 为什么说脱离决策的数据分析都是无用功
  • 【AI落地应用实战】DAMODEL深度学习平台部署+本地调用ChatGLM-6B解决方案
  • Android Java和Kotlin的目标JVM版本不一致
  • 数据炼金术:在sklearn中进行增量特征合成的秘诀
  • 弱网常见问题
  • 25考研计算机组成原理复习·3.1/3.2 存储器概述/主存储器
  • Hugo 部署与自动更新(Git)
  • c#中Oracle.DataAccess.dll连接数据库的报错处理
  • TiDB系列之:TiCDC同步TiDB数据库数据到Kafka集群Topic
  • Vulnhub靶机-Jangow 1.0.1
  • javaScript中基本数据类型和复杂数据类型数据的存储
  • linux:二进制包安装与源码包安装详解
  • 【计组】第三章和第四章
  • 【考研数学】概率论:4 种方法解答一道题,你觉得哪种方法又快又好呢?
  • css属性的继承、初识值、计算值、当前值、应用值
  • Flex布局到底解决了什么问题
  • Java小白进阶笔记(3)-初级面向对象
  • mongodb--安装和初步使用教程
  • Octave 入门
  • react-native 安卓真机环境搭建
  • Shadow DOM 内部构造及如何构建独立组件
  • SpiderData 2019年2月25日 DApp数据排行榜
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 从重复到重用
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 给新手的新浪微博 SDK 集成教程【一】
  • 前端设计模式
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 云大使推广中的常见热门问题
  • 运行时添加log4j2的appender
  • puppet连载22:define用法
  • 阿里云服务器如何修改远程端口?
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ###STL(标准模板库)
  • #{} 和 ${}区别
  • #define
  • #pragma once
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (LLM) 很笨
  • (多级缓存)多级缓存
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (心得)获取一个数二进制序列中所有的偶数位和奇数位, 分别输出二进制序列。
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • .apk文件,IIS不支持下载解决
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .Net Core 笔试1
  • .net SqlSugarHelper
  • .NET/C# 使窗口永不获得焦点
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .NetCore部署微服务(二)