题目大意:有一个人要去拜访他的好友,给出他所有好友的位置,问如何才能使他到每个好友的家的距离之和最短
解题思路:求中位数
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
const int maxn = 500 + 5;
float arr[maxn];
int main() {
int test;
scanf("%d", &test);
while(test--) {
int num;
float temp;
float ans = 0;
scanf("%d", &num);
for(int i = 0; i < num; i++)
scanf("%f", &arr[i]);
sort(arr,arr+num);
temp = (arr[(num-1)/2] + arr[num/2]) / 2;
for(int i = 0; i < num; i++)
ans = ans + abs(arr[i]- temp);
printf("%.0f\n",ans);
}
return 0;
}