分苹果(不理解,请留下评论,必回)

分苹果

http://www.nowcoder.com/questionTerminal/a174820de48147d489f64103af152709

统计需要移动的苹果的总数。
移动一次,会有4个苹果被挪动。
sumapple/4=移动次数。

include<stdio.h>

include<math.h>

int main()
{
   int const n ;scanf("%d",&n);
int sz[n];
int sum=0,ave;
int sumapple=0;
for(int i=0;i<n;i++){
scanf("%d",&sz[i]);
sum+=sz[i];
}//求总数
if(sum%n!=0){
printf("-1\n");return 0;
}//判断能否平分苹果
ave=sum/n;
for(int i=0;i<n-1;i++){
if(sz[i]%2!=sz[i+1]%2){printf("-1\n");return 0;}
}//判断初始状态是否都为基数,或者都为偶数
for(int i=0;i<n;i++){
sumapple+=abs(sz[i]-ave);
if(sumapple%2!=0){printf("-1\n");return 0;}
}//求需要被移动的苹果数量
sumapple/=4;
//移动一次,拿出两个,放入两个
printf("%d",sumapple);
return 0;
}

全部评论
哥们,代码格式,可读性格式化一下哈哈
点赞
送花
回复
分享
发布于 2022-11-10 00:19 广东

相关推荐

3 收藏 评论
分享
牛客网
牛客企业服务