7-1 最佳交换 (100 分)
输入格式:
第一行两个用空格隔开的正整数M,N,分别表示交换次数和总人数(星星也算在内) 第二行用N个空格隔开的正整数ai
输出格式:
一个正整数,表示最大得分值
输入样例1:
1 5
3 7 2 1 6
结尾无空行
输出样例1:
6
结尾无空行
输入样例2:
2 5
3 7 2 1 6
结尾无空行
输出样例2:
10
结尾无空行
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int M = scanner.nextInt();
int N = scanner.nextInt();
int ai[] = new int[N];
for(int i = 0 ; i<N ;i++){
ai[i] = scanner.nextInt();
}
Arrays.sort(ai);
//先排序,每次的最大即为右边减去左边
int score = 0;
int l = 0;
int t = N - 1;
int count = 1;//记录交换次数
while(count <= M && l <= t){
score += ai[t] - ai[l];
l++;
t--;
count++;
}
System.out.println(score);
}
}