时间限制: 1 s
空间限制: 128000 KB
题目等级 : 黄金 Gold
1 #include<iostream> 2 #include<cstdio> 3 4 using namespace std; 5 6 int n,sum,pj,js,changes; 7 int zp[101]; 8 9 int main() 10 { 11 cin>>n; 12 for(int i=1;i<=n;i++) 13 { 14 cin>>zp[i]; 15 sum+=zp[i]; 16 } 17 pj=sum/n;//记录下平均数 18 for(int i=1;i<n;i++)//循环到<n为止 19 { 20 int j=i+1; 21 if(zp[i]<pj)//如果比平均数小,从右边借 22 { 23 js++;//进行计数 24 changes=pj-zp[i];//从右边借多少 25 zp[i]=pj;//与上面的位置不能够进行交换!!! 26 zp[j]-=changes;//下一个减去已经被此时借掉的 27 } 28 else if(zp[i]>pj)//如果比平均数小,借给右边 29 { 30 js++;//进行计数 31 changes=zp[i]-pj;//借多少给右边 32 zp[i]=pj;//与上面的位置不能够进行交换!!! 33 zp[j]+=changes;//下一个加上借了的 34 } 35 } 36 cout<<js; 37 return 0; 38 }