考虑一下三点即可:
1 累加苹果数要能被n整除
2 每一堆苹果数目和最终苹果数奇偶性要一样
3 操作数就是累加每一堆大于最终苹果数,然后除以2
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
int[] nums=new int[n];
int sum=0;
for(int i=0;i<n;i++){
nums[i]=sc.nextInt();
sum+=nums[i];
}
//苹果数之和要能被n整除
if(sum%n!=0){
System.out.println("-1");
return;
}
int target=sum/n;
int cnt=0;
for(int a:nums){
// 苹果要和最终的苹果数奇偶性要一样
if(Math.abs(a-target)%2==1){
System.out.println("-1");
return;
}
//统计大于target的苹果数之和
if(a>target){
cnt+=(a-target);
}
}
System.out.println(cnt/2);
}
}
}


京公网安备 11010502036488号