Bootstrap

华为OD机试统一考试D卷C卷 - 最大N个数与最小N个数的和(C++ Java JavaScript Python C语言)

华为OD机考:统一考试 D卷 + C卷 + B卷 +A卷

真题目录:华为OD机考机试 真题目录(C卷 + D卷 + B卷 + A卷) + 考点说明

题目描述

给定一个数组,编写一个函数来计算它的最大N个数与最小N个数的和。你需要对数组进行去重。

说明:

  • 数组中数字范围[0, 1000]
  • 最大N个数与最小N个数不能有重叠,如有**重叠,输入非法**返回-1
  • 输入非法返回-1

输入描述

  • 第一行输入M, M标识数组大小
  • 第二行输入M个数,标识数组内容
  • 第三行输入N,N表达需要计算的最大、最小N个数

输出描述

输出最大N个数与最小N个数的和

用例

输入

5
95 88 83 64 100
2

输出 342
说明 最大2个数[100,95],最小2个数[83,64], 输出为342。
输入

5
3 2 3 4 2
2

输出 -1
说明 最大2个数[4,3],最小2个数[3,2], 有重叠输出为-1。

C++

#include <iostream>
;