思路:选在两个边界之外的点(a[r]-a[l])一定比选在边界之内要长(a[r]-a[l]+2*d)
选在边界之内任意点离边界长度都相同(a[r]-a[l]) 去掉两个边界依次类推
偶数个点 选择最内侧两个点的中间任意位置
奇数个点 选择最内侧的点
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 100007;
int a[N];
int n;
int main()
{
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
LL ans=0;
for(int i=0;i<n/2;i++)
ans+=a[n-i-1]-a[i];
printf("%lld",ans);
return 0;
}