不多说了,while那里有问题,但是本人蒟蒻不会改,耷姥帮帮
#include<bits/stdc++.h>
using namespace std;
int n,a[101],_a,ans;
int findmax(){
int num,maxn=-1;
for(int i=1;i<=n;i++)
if(a[i]>maxn){
num=i;
maxn=a[i];
}
return num;
}
bool equal(){
for(int i=1;i<=n;i++)
if(a[i]!=_a) return 0;
return 1;
}
void search(){
int que;
for(int i=1;i<=findmax();i++){
que+=_a-a[i];
a[i]=_a;
}
a[findmax()]-=que;
ans+=(findmax()-1);
que=0;
for(int i=n;i>=findmax();i--){
que+=_a-a[i];
a[i]=_a;
}
a[findmax()]-=que;
ans+=(n-findmax());
que=0;
}
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
_a+=a[i];
}
_a/=n;
while(!equal())
search();
printf("%d",ans);
return 0;
}