#include <iostream>
#include <set>
#include <vector>
using namespace std;
int main() {
int n;//输入n个数
cin >> n;
set<int> arr;
int num;
for(int i = 0; i < n; i++){
cin >> num;
arr.insert(num);
}
vector<int> nums;
for(auto it = arr.begin(); it != arr.end();it++){
nums.push_back(*it);
}
int m;
int sum = 0;
cin >> m;//输出最大的n个数与最小的n个数
if(m*2>arr.size()){
cout << "-1" << endl;//会有重叠
}
else{
for(int i = 0; i< m;i++){
sum += nums[i];
sum += nums[nums.size() - 1 - i];
}
}
cout << sum << endl;
}
最大n个数与最小n个数之和(C++)
最新推荐文章于 2024-07-08 18:49:18 发布