#include<iostream>
#include<string>
#include <algorithm>
#include<vector>
using namespace std;

int main(){
    int n;
    while (cin>>n)
    {
        vector<int> vec;
        int sum=0;
        for(int i=0;i<n;i++)
        {
            int m;
            cin>>m;
            sum+=m;
            vec.push_back(m);
        }
        if(sum%n!=0)
        {
            cout<<-1<<endl;
            continue;
        }
        int avr = sum/n;
        int ans = 0;
        int time = 0;
        int flag = 0;
        for(int i=0;i<n;i++)
        {
            int tmp = abs(vec[i]-avr);
            if(tmp%2!=0)
            {
                cout<<-1<<endl;
                flag=1;
                break;
            }
            if(vec[i]>avr)
            {
                ans += tmp;
                time+=tmp/2;
            }
            else if(vec[i] == avr)
            {
                continue;
            }
            else if(vec[i] <avr)
            {
                ans -= tmp;
            }
        }

        if(!flag)
        {
            if(ans!=0)
                cout<<-1<<endl;
            else
                cout<<time<<endl;
        }
        
    }
    return 0;
}

我不知道为什么超时了 求大神指点