寒假每日一题 AcWing 104. 货仓选址(数学规律)

 

 思路:如果是奇数数个商店,排序后选中间的那个为货仓位置。如果是偶数个,排序后选取 n / 2或者 n / 2 + 1位置的商店。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int main()
{
       int n;
       cin>>n;
       int a[N];
       for(int i=0;i<n;i++)
        cin>>a[i];
       sort(a,a+n);
       int cnt=0;
       for(int i=0;i<n;i++)
       {
        cnt+=abs(a[i]-a[n/2]);
       }
   cout<<cnt<<endl;



}
View Code

 

posted @ 2021-01-12 17:02  Swelsh-corgi  阅读(61)  评论(0编辑  收藏  举报