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;
}


京公网安备 11010502036488号