#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
const int N=1000;
int a[N],n;
int check()
{
for(int i=0;i<n;i++)
if(a[i]!=a[(i+1)%n])
return 0;
return 1;
}
int main()
{
int m,count,l;
while(scanf("%d",&n)!=EOF)
{
if(n==0) break;
count=0;
for(int i=0;i<n;i++)
cin>>a[i];
while(!check())
{
// cout<<"ling"<<endl;
/* for(int i=0;i<n;i++)
cout<<a[i]<<" "<<endl;*/
l=a[n-1];
for(int i=n-1;i>0;i--)
{
a[i]=(a[i]+a[i-1])/2;//a[i]每个循环总是减小自己的一半再加上前面的一半
// a[i-1]-=a[i-1]/2;
if(a[i]%2!=0)
a[i]++;
}
a[0]=(a[0]+l)/2;
if(a[0]%2==1) a[0]++;
// a[n-1]-=l/2;
count++;
}
printf("%d %d\n",count,a[0]);
}
system("pause");
return 0;
}
hdu1034
最新推荐文章于 2019-07-25 17:42:50 发布