有不等式
max{|a|-|b|,|b|-|a|}<=|a-b|<=|a|+|b|
罗列一下所有点就得出答案一定在中间
就得到如下代码
#include<iostream>
#include<algorithm>
using namespace std;
int a[(int)1e5+5];
int main(){
int n;cin>>n;
for(int i=0;i<n;i++)cin>>a[i];
sort(a,a+n);
int ans=0;
for(int i=0;i<n;i++)
ans+=abs(a[i]-a[n>>1]);
cout<<ans;
}