原题出处
#include <bits/stdc++.h>
using namespace std;
int data[105];
bool isodd(int n){
if(n&1){
return true;
}
return false;
}
int main(){
int n;
scanf("%d",&n);
if(n==1){
cout<<0;
return 0;
}
scanf("%d",&data[0]);
bool DataOdd=false;
if(isodd(data[0])) DataOdd=true;
int sum=data[0];
for(int i =1;i<n;i++){
scanf("%d",&data[i]);
if(DataOdd&&!isodd(data[i])||!DataOdd&&isodd(data[i])){
cout<<-1;
return 0;
}
sum+=data[i];
}
if(sum%n!=0){
cout<<-1;
return 0;
}
int avg=sum/n;
int cnt=0;
for(int i =0;i<n;i++){
if(data[i]<avg){
cnt+=(avg-data[i])/2;
}
}
printf("%d",cnt);
return 0;
}
网友评论