题解:

随便推一下公式

然后发现是中位数

代码:

#include<bits/stdc++.h>
using namespace std;
int a[1000005],n;
long long sum;
int main()
{
    scanf("%d",&n);
    for (int i=1;i<=n;i++)scanf("%d",&a[i]);
    for (int i=1;i<=n;i++)sum+=a[i];
    sum/=n;
    a[1]=0;
    for (int i=2;i<=n;i++)a[i]=a[i-1]+a[i]-sum;
    sort(a+1,a+n+1);
    long long ans=0;
    for (int i=1;i<=n;i++)
     ans+=abs(a[i]-a[(n+1)/2]);
    printf("%lld",ans); 
} 

 

posted on 2018-02-27 20:17  宣毅鸣  阅读(108)  评论(0编辑  收藏  举报