`[//]: # (打卡模板,上面预览按钮可以展示预览效果 ^^)
//这里填你的代码^^
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int a[N];
int c[N];
long long sum;
int n;
int main()
{
cin>>n;
for(int i=1;i<=n;i++) {
cin>>a[i];
sum+=a[i];
}
int avg=sum/n;
for(int i=1;i<=n-1;i++)
{
c[i]=c[i-1]+a[i]-avg;
}
long long ans=0;
sort(c+1,c+n);
int mid=(n+1)/2;//
// cout<<mid<<endl<<c[mid]<<endl;
for(int i=0;i<=n-1;i++)
{
ans+=abs(c[mid]-c[i]);
}
cout<<ans;
return 0;
}
`
P122
为什么这个题mid=(n)/2就aw,mid=(n+1)/2就可以ac
有点糊里糊涂