AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P2538. 整数对最小和

简单通过率 50% · 提交 408 · 通过 204
模拟贪心双指针

小慕正在处理两个升序排列的整数数组array1和array2。他需要从每个数组中各取出一个元素组成一对,一共,并计算这些取出的所有元素的总和,要求这个总和尽可能小。 注意:如果两对元素在array1和array2中的下标完全相同,则被视为同一对元素。

提示:带虚线的词点一下有通俗解释。

输入描述

<p> 输入两行数组array1、array2,每行首个数字为数组大小size(0 < size <= 100) </p> <p> 0 < array1[i] <= 1000 </p> <p> 0 < array2[i] <= 1000 </p> <p> 接下来一行为正整数k 0 < k <= array1.size()*array2.size() </p>

输出描述

满足要求的最小和

示例

示例 1

输入

3 1 1 2
3 1 2 3
2

输出

4

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
整数对最小和示例 array1 1 1 2 array2 1 2 3 取k=2对 最小和: (1+1)+(1+2)=4 注意:每个元素只能被选一次,不能重复选同一对。 先选最小的两个和:1+1=2,然后选次小的1+2=3,总和=5? 但这里最优是(1,1)和(1,2)得到4,因为array1有两个1可用。
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「整数对最小和」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。