网易移动西瓜问题

来源:互联网 发布:国网公司网络大学 编辑:程序博客网 时间:2024/04/30 07:51

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

0 0
原创粉丝点击