public static void main(String[] args) {
/*
例一:
第一行输入5
第二行输入95 88 83 64 100
第三行输入2
输出:342
例二:
第一行输入5
第二行输入3 2 3 4 2
第三行输入2
输出:-1
*/
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int size = sc.nextInt();
List<Integer> list = new ArrayList<>();
for (int i = 0; i < size; i++) {
int num = sc.nextInt();
list.add(num);
}
Collections.sort(list);
int count = sc.nextInt();
List<Integer> max = new ArrayList<>();
int sum = 0;
int repeat = 0;
for (int i = 0; i < count; i++) {
if (max.contains(list.get(i)) || max.contains(list.get(list.size() -1 -i))) {
repeat++;
}
max.add(list.get(i));
max.add(list.get(list.size() -1 -i));
}
// 存在重复元素
if (repeat > 0) {
System.out.println(-1);
} else {
for (int i = 0; i < max.size(); i++) {
sum += max.get(i);
}
System.out.println(sum);
}
}
}
}
数组求和#算法#机考
最新推荐文章于 2024-08-15 14:47:41 发布