1.有偶数有奇数肯定不行,因为奇/偶+2(偶)=奇/偶,所以不能凑出一样的来。
2.(所有数相加的sum) % n!=0 && sum/n也就是平均数avg和其他四个数的奇偶性质不同,肯定不行。
其他肯定可以。

统计差的个数就可以了。

#include<iostream> 
using namespace std;
const int maxn=101;
int a[maxn];
int main(){
    int n,j=0,o=0,sum=0,avg;
    bool res=true;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a[i];
        sum+=a[i];
        if(a[i]%2==0)o++;
        else j++;
    }avg=sum/n;
    if(o==n){
        if(sum%n!=0||sum/n%2!=0)res=false;
    }else if(j==n){
        if(sum%n!=0||sum/n%2==0)res=false;
    }else{
        res=false;
    }
    if(!res){
        cout<<-1<<endl;
    }else{
        int up=0,down=0;
        for(int i=0;i<n;i++){
            if(a[i]>avg){
                up+=(a[i]-avg)/2;
            }else if(a[i]<avg){
                down+=(avg-a[i])/2;
            }
        }
        if(up==down)cout<<up<<endl;
        else cout<<-1<<endl;
    }
    return 0;
}