一道很简单的模拟题,为什么会超时呢
#include<stdio.h>
int a[105], b[105];
int n, bu = 0;
void add( int i){
if( a[i] % 2){
bu++;
a[i]++;
}
}
int judge( ){
int i;
for( i = 1; i < n; i++){
if( a[i]!= a[i+1]){
return 0;
}
}
}
int main(void){
int i, flag;
scanf("%d", &n);
for( i = 1; i <= n; i++){
scanf("%d", &a[i]);
}
while(!judge()){
for( i = 1; i <= n; i++){
b[i] = a[i] / 2;
a[i] = a[i] / 2;
}
a[1] += b[n];
add(1);
for( i = 2; i <= n; i++){
a[i] = a[i] + b[i-1];
add(i);
}
}
printf("%d", bu);
return 0;
}