说明: 这是一个标准的有关中位数的题目,想一想,到各个地方的和最近,其实想想就是从正中间的位置,往两边走是最好的,这个可以自己简单的证明一下。只要知道这个了以后,那么这个题目就是特别简单的啦。
#include <stdio.h>
#include <math.h>
#include <algorithm>
using namespace std;
int main()
{
int m, n, a[501], i, mid, sum;
scanf("%d", &m);
while (m--)
{
scanf("%d", &n);
for(i = 0; i < n; i++)
scanf("%d", &a[i]);
sort(a, a+n);
mid = a[n/2];
sum = 0;
for (i = 0; i < n; i++)
sum += abs(a[i] - mid);
printf("%d\n", sum);
}
return 0;
}