纯模拟题。。。
#include<iostream>
using namespace std;
int a[1000];
int b[1000];
bool flag;
int main()
{
int n,c;
while(scanf("%d",&n)==1&&n)
{
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
c=0;
while(true)
{
for(int i=0;i<n;i++)
b[i]=(a[i]/=2);
a[0]=(((a[0]+=b[n-1])+1)/2)*2; //顺便判断是否要加一
flag=true;
for(int i=1;i<n;i++)
if( a[i-1]!=(a[i]=(((a[i]+=b[i-1])+1)/2)*2) )
flag=false;
c++;
if(flag) break;
}
printf("%d %d\n",c,a[0]);
}
return 0;
}