#include<bits/stdc++.h> using namespace std; int n,a[205],sum,avg,ans; int main(){ // //10 // 1 2 3 4 // 9 9 12 10 //1 10 8 12 10 //2 10 10 10 10 //输入n //输入一个一维数组 //计算平均值 //循环从1到n/2+1 // i 1 2 // n-i+1 4 3 // // 只要不等于平均值那么都要移动 i是和下一个交换 // n-i+1是和上一个交换 // 3 5 // i i+1 // avg-3 cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; sum+=a[i]; } avg=sum/n; for(int i=1;i<=n/2+1;i++){ if(a[i]!=avg){ ans++; a[i+1]+=a[i]-avg; a[i]=avg; // for(int j=1;j<=n;j++) cout<<a[j]<<" "; // cout<<endl; } if(a[n-i+1]!=avg){ ans++; a[n-i]+=a[n-i+1]-avg; a[n-i+1]=avg; // for(int j=1;j<=n;j++) cout<<a[j]<<" "; // cout<<endl; } } cout<<ans; return 0; } /************************************************************** Problem: 1371 User: admin Language: C++ Result: Accepted Time:9 ms Memory:2072 kb ****************************************************************/