#include<bits/stdc++.h>
using namespace std;
struct candy1{
long candy;
}a[100001];
bool cmp(candy1 x,candy1 y){
return x.candy<y.candy;
}
int main(){
long n;
long number=0,ans=1;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].candy;
number+=a[i].candy;
}
sort(a+1,a+1+n,cmp);
number/=n;
for(int i=1;i<=n;i++){
a[i].candy-=number;
if(a[i].candy!=0){
ans++;
a[i+1].candy+=a[i].candy;
}
}
cout<<ans<<endl;
return 0;
}
帮帮孩子吧(我知道结构体有点多余)
https://www.luogu.com.cn/problem/P2512