题目描述
分析
也可参考Y总视频讲解
实现
#include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long ll;
const int N = 1e6 + 9;
int n;
ll sum[N], ans, avg;
int main()
{
scanf("%d",&n);
for(int i=1; i<=n; i++)
{
scanf("%lld", &sum[i]);
avg += sum[i];
sum[i] += sum[i-1];
}
avg /= n;
for(int i=1; i<=n; i++) sum[i] = i*avg - sum[i];
sort(sum+1, sum+1+n);
for(int i=1; i<=n; i++) ans += abs(sum[(n+1)/2] - sum[i]);
printf("%lld", ans);
return 0;
}