邮局选址问题(水塔位置)
放置一个邮局, 使这一个邮局到每个位置的距离之和最短
【代码】100%
/*
* 一个邮局的选址问题
* 使一个邮局到每个位置的距离之和最短
*/
import java.util.Arrays;
import java.util.Scanner;
public class 阿里_1 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int a[]=new int[n];
for(int i=0;i<n;i++) {
a[i]=scanner.nextInt();
}
System.out.println(minDis(a));
}
static long minDis(int []a) {
long minSum=0;
Arrays.parallelSort(a);
int l=0,r=a.length-1;
while(l<r) {
minSum+=(long)a[r--]-(long)a[l++];
}
return minSum;
}
}