题目意思就是给出有几个人,每个人之间的距离多少。然后问到每个人距离最小可以使多少。
把所有距离排个序,中间那个就是我们要求的位置。然后循环算个距离。
#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn = 505;
int arr[maxn];
int m;
int main() {
int n;
scanf("%d", &n);
while(n--) {
scanf("%d", &m);
for(int i=0; i<m; i++) {
scanf("%d", &arr[i]);
}
sort(arr,arr+m);
int sum = 0;
int flag = arr[m/2];
for(int i=0; i<m/2; i++) sum += (arr[m/2]-arr[i]);
for(int i=m-1; i>m/2; i--) sum+=(arr[i]-arr[m/2]);
printf("%d\n", sum);
}
return 0;
}