水题,直接暴力的去模拟就过了。日常划水系列
#include <bits/stdc++.h>
using namespace std;
int a[110];
int main()
{
int n;cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
int flag ,cnt = 0;
while(1){
flag = 0;
int temp = a[0];
for(int i=0;i<n;i++){
if(a[i]!=temp){
flag = 1;break;
}
}
if(flag==0) break;
for(int i=0;i<n;i++){
a[i] = a[i]/2;
}
int x = a[n-1];
for(int i=n-1;i>=1;i--){
a[i] = a[i-1]+a[i];
}
a[0] = a[0]+x;
for(int i=0;i<n;i++){
if(a[i]%2!=0){
cnt++; a[i]++;
}
}
}
cout<<cnt<<endl;
return 0;
}