题目描述
给定 N 个加号、M 个减号以及 N + M + 1 个整数 A1,A2,··· ,AN+M+1,小 明想知道在所有由这 N 个加号、M 个减号以及 N + M +1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个?
请你输出这个最大的结果。
例如使用1 2 3 + -,则 “2 3 + 1 -” 这个后缀表达式结果是 4,是最大的。
【输入格式】
第一行包含两个整数 N 和 M。 第二行包含 N + M + 1 个整数 A1,A2,··· ,AN+M+1。
【输出格式】
输出一个整数,代表答案。
package Demo03_24;
import java.util.Arrays;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();//加号
int M = sc.nextInt();//减号
int n = M + N + 1;//整数个数
int[] list = new int[n];
for (int i = 0; i < list.length; i++) {
list[i] = sc.nextInt();
}
//排序
Arrays.sort(list);
int max = 0;
for (int i = list.length-1, j = 0; j < list.length; i--, j++) {
if(j <= N ) {
max += list[i];
}else {
max -= list[i];
}
}
System.out.println(max);
sc.close();
// 4
// 3
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 8
}
}