题目:
**加粗样式
**
考察内容:
排序(sort)+求和(sum)+ 数学转化 + 循环(从小开始)+break
代码:

"""
题目分析:
a和b初始总算力不同
从A组中选出的算力尽可能小
交换以后,a和b的算力相等

输入:
L1 A int(cpu数量) L2 B int (cpu数量)
A  算力值 list
B  算力值 list
输出:
A选出的算力 B选出来的算力

eg:
2 2
1 1
3 3

2 2
1 1
2 2

4 4
1 2 3 4
5 10 11 17
思路:
数学转化
sum_a - min_a + any_b = sum_b + min_a - any_b
"""
level1, level2 = map(int, (input().split()))
a = list(map(int, input().split()))
b = list(map(int, input().split()))
# 排序
a.sort(reverse=False)
b.sort(reverse=False)
# 求算力
a_sum = sum(a)
b_sum = sum(b)


difference = a_sum - b_sum
# a尽可能小,从小开始遍历
for i in range(len(a)):
    temp = int(abs(a_sum - a[i] - b_sum - a[i]) / 2)
    if temp in b:
        print(a[i], temp)
        break

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐