51nod 1096 距离之和最小

这里写图片描述

求中位数,注意求中位数前排序。。。。

#include <bits/stdc++.h>

using namespace std;
#define LL long long
const int MAXN=1e4+10;
LL a[MAXN];

int main()
{
    int n;
    cin>>n;
    LL sum=0;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    sort(a,a+n);
    int mid=(n+1)/2-1;
//    cout<<mid<<endl;
//    cout<<a[mid]<<endl;
    for(int i=0;i<n;i++)
    {
        sum+=abs(a[mid]-a[i]);
    }
    cout<<sum<<endl;
    return 0;
}
原文地址:https://www.cnblogs.com/bryce1010/p/9386929.html