描述
给定两个整数数组 a r r a y 1 、 a r r a y 2 array1、array2 array1、array2,数组元素按升序排列,假设从 a r r a y 1 、 a r r a y 2 array1、array2 array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素并对取出的所有元素求和,计算和的最小值。
注意:
两对元素如果对应于 a r r a y 1 、 a r r a y 2 array1、array2 array1、array2中的两个下标均相同,则视为同一对元素
输入描述:
输入两行数组
a
r
r
a
y
1
、
a
r
r
a
y
2
array1、array2
array1、array2,每行首个数字为数组大小
s
i
z
e
(
0
<
s
i
z
e
<
=
100
)
size(0<size<=100)
size(0<size<=100)
0
<
a
r
r
a
y
1
[
i
]
<
=
1000
0<array1[i]<=1000
0<array1[i]<=1000
0
<
a
r
r
a
y
2
[
i
]
<
=
1000
0<array2[i]<=1000
0<array2[i]<=1000
接下来一行为正整数k
0
<
k
<
=
a
r
r
a
y
1.
s
i
z
e
(
)
∗
a
r
r
a
y
2.
s
i
z
e
(
)
0<k<=array1.size()*array2.size()
0<k<=array1.size()∗array2.size()
输出描述:
满足要求的最小和
示例1
输入:
3 1 1 2
3 1 2 3
2
输出:
4
说明:
用例中,需要取2对元素
取第一个数组第1个元素与第二个数组第1个元素组成1对元素[1,1];
取第一个数组第2个元素与第二个数组第1个元素组成1对元素[1,1];
求和为1+1+1+1 = 4,为满足要求的最小和。
arr1 = list(map(int, input().split()))
arr2 = list(map(int, input().split()))
k = int(input())
res = []
for i in arr1:
for j in arr2:
res.append(i + j)
res.sort()
j = sum(res[:k])
print(j)