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

OD C卷 - CPU算力分配

CPU算力分配

  • 两组服务器A、B, 每组有多个算力不同的CPU;
  • 为了让两组服务器的算力和相等,允许两组各选出一个CPU进行一次交换;
  • 求两组中用于交换的CPU算力,从A中选出的算力尽可能小;

输入描述:
第一行 输入L1, L2 表示A、B组的CPU数量;
第二行输入A组服务器中的CPU算力;
第三行输入B组服务器的CPU算力;
输出描述:
A、B组选出的CPU算力,以空格分开; 保证初始两组算力和不同,且答案肯定存在;

示例1
输入:
2 2
1 1
2 2
输出:
1 2

示例2
输入:
2 2
1 2
2 3
输出:
1 2

示例3
输入:
3 2
1 2 5
2 4
输出:
5 4

思路:

  • A数组升序排序,B数组升序排序;
  • 遍历A数组的每个元素 A [ i ] A[i] A[i],根据公式求对应的目标值tgt,是否在B数组中;
    • 交换一次后,存在公式 ∑ A − A i + B i = ∑ B − B i + A i \sum A - A_i + B_i = \sum B - B_i + A_i AAi+Bi=BBi+Ai
    • 代码形式 tgt = A[i] - (sum(A) - sum(B)) // 2
    • 如果tgt 在B数组中存在,则结束对A的循环;
    • 时间复杂度 O(nlogn)

a_len, b_len = list(map(int, input().strip().split()))a_arr = list(map(int, input().strip().split()))
a_sum = sum(a_arr)
b_arr = list(map(int, input().strip().split()))
b_sum = sum(b_arr)a_arr.sort()
b_arr.sort()
i = 0
while i < a_len:  # O(n) + O(nlogn)target = a_arr[i] - (a_sum - b_sum) // 2if target in b_arr:print(str(a_arr[i]) + " " + str(target))breaki += 1
http://www.lryc.cn/news/418893.html

相关文章:

  • matlab实现红绿灯识别
  • base64 转 pdf
  • vue2项目微信小程序的tabs切换效果
  • WPF动画的使用
  • 跑腿代购app系统源码开发及功能分析
  • mysql数据库:字符串函数
  • C语言实现游戏2048(超详细!!!超易懂!!!)
  • MATLAB代码检查工具PolySpace
  • FPGA设计之跨时钟域(CDC)设计篇(5)----同步FIFO的两种设计方法(计数器法/高位扩展法 | 手撕代码)
  • 快速掌握Vue:基础命令详解
  • MySQL——索引(二)创建索引(1)创建表的时候创建索引
  • 源代码加密怎么做?企业常用十款源代码加密软件排行榜
  • python 文件打开、读、关闭练习
  • 迈向大规模小目标检测:综述与数据集
  • 69、zabbix自动、代理、snmp监控
  • 搜索引擎设计:如何避免大海捞针般的信息搜索
  • 设计模式- 数据源架构模式
  • Unity 使用字符串更改Text指定文字颜色、大小、换行、透明
  • 数字信号处理2: 离散信号与系统的频谱分析
  • 20240805软考架构--------每日打卡题21-25
  • GPT-5:未来已来,你准备好了吗?
  • 解决C#对Firebase数据序列化失败的难题
  • 设计模式中的类关系
  • glibc的安装及MySQL的安全用户角色权限(twenty-one day)
  • AttributeError: ‘ChatGLMTokenizer‘ object has no attribute ‘sp_tokenizer‘. 已解决
  • 徐州BGP机房与普通机房的区别有哪些?
  • VBA 程序运行中禁用鼠标键盘
  • CUDA编程从零到壹
  • 【国产开源可视化引擎】Meta2d.js API-Utils
  • 大模型与数据分析的融合:创新与发展的新机遇