题目描述
给定一个数组,编写一个函数来计算它的最大N
个数与最小N
个数的和。你需要对数组进行去重。
输入描述
第一行输入M
, M
标识数组大小
第二行输入M
个数,标识数组内容
第三行输入N
,N
表达需要计算的最大、最小N
个数
输出描述
输出最大N
个数与最小N
个数的和。
补充说明
数组中数字范围[0,1000]
最大N
个数与最小N
个数不能有重叠,如有重叠返回-1
示例
输入
5
95 88 83 64 100
2
输出
342
m = int(input())
lst = list(map(int, input().split()))
n = int(input())
lst_new = sorted(set(lst))
if len(lst_new) < 2*n:
print(-1)
else:
print(sum(lst_new[:n]) + sum(lst_new[len(lst_new)-n:]))