考虑一下三点即可:
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); } } }