#include<iostream>
#include<algorithm>
using namespace std;
const int N=1e6+10;
int a[N];
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i];
    
      sort(a+1,a+n+1);
      int ans=0,x=a[(n-1)/2+1];
      for(int i=1;i<=n;i++)
      {
          if(i!=(n-1)/2+1)
          {
              ans+=abs(x-a[i]);
          }
      }
    cout<<ans<<endl;
}
经典的贪心问题,如果有一个商店,那一定是建在商店上,距离之和最小,如果有两个商店,那一定要建在两个商店之间。
如果有三个商店,一定要建在中间的商店上面。用公式来推导的话,就是每个点到c的绝对值之和最小,把所有这样的式子
分成两组类似|a[n]-c|+|a[1]-c|的两组,这个式子值最小是建在中间,所以建在最中间一定是最小的。