注意:
初试输入时有奇数。
如果有奇数,自己留一半+1,给别人一半。
偶数正常。

#include<iostream>
#include<vector>
using namespace std;
const int maxn=10001;
int a[maxn];
int t[maxn];
bool flag=true;
int main(){
    int n;
    while(cin>>n){
        if(n==0)break;
        int sum=0,temp0;
        for(int i=0;i<n;i++){
            cin>>a[i];
            if(n==1)continue;
            if(i==0){
                temp0=a[i];
            }else{
                if(temp0!=a[i]){
                    flag=false;
                }
            }
            if(a[i]%2!=0){
                t[i]=a[i]/2;
                a[i]=t[i]+1;
            }else{
                a[i]/=2;
                t[i]=a[i];        
            }
        }
        if(flag){
            cout<<0<<" "<<a[0]<<endl;continue;
        }
        flag=true;
        while(flag){
            sum++;
            for(int i=0;i<n;i++){
                if(i==0){
                    a[i]+=t[n-1];
                    if(a[i]%2!=0)a[i]++;
                    temp0=a[i];
                }else{
                    a[i]+=t[i-1];
                    if(a[i]%2!=0)a[i]++;
                }
                if(temp0!=a[i])flag=false;
            }
            if(flag)break;
            flag=true;
            for(int i=0;i<n;i++){
                a[i]/=2;
                t[i]=a[i];
            }
        }
        cout<<sum<<" "<<a[0]<<endl;
    }
    return 0;
}