有N个人,每个人有ai个苹果,需要将最后移动到所有人一样多,一次只能移动2个,不能就返回-1,问一共需要移动多少次呢?
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
int n;
int a[100];
int total=0;
int p=0;//记录是否为全鸡偶,p=1,则不是全鸡,全偶。
int coutnum=0;
while(cin>>n)
{
for(int i=0;i<n;i++)
{
cin>>a[i];
total=total+a[i];
}
for(int i=0;i<n;i++)
{
if(a[i]%2!=a[i+1]%2)
{
p=1;
}
}
if(total%n!=0||p==1)
cout<<-1<<endl;
else
{
int temp=total/n;
for(int i=0;i<n;i++)
{
coutnum=coutnum+abs(a[i]-temp)/2;
}
cout<<(coutnum-1)/2+1<<endl;
}
}
}