n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要移动多少次可以平分苹果,如果方案不存在输出 -1。 

输入描述:
每个输入包含一个测试用例。每个测试用例的第一行包含一个整数 n(1 <= n <= 100),接下来的一行包含 n 个整数 ai(1 <= ai <= 100)。
输出描述:
输出一行表示最少需要移动多少次可以平分苹果,如果方案不存在则输出 -1。
输入例子:
4
7 15 9 5
输出例子:
3

代码如下:
 1 import java.util.HashMap;
 2 import java.util.Map;
 3 import java.util.Scanner;
 4 
 5 public class Main {
 6 
 7     public static void main(String[] args) {
 8         Scanner scanner=new Scanner(System.in);
 9         int n=scanner.nextInt();
10         int[] a=new int[n];
11         int sum=0;
12         int avg=0;
13         int count=0;
14         boolean flag=true;
15         for(int i=0;i<n;i++)
16         {
17             a[i]=scanner.nextInt();
18             sum+=a[i];
19         }
20             if(sum%n!=0)
21             {
22                 flag=false;
23 //                System.out.print(-1);
24             }
25             else{
26                 avg=sum/n;
27             }
28             for(int i=0;i<n;i++)
29                 {a[i]-=avg;
30                 if(a[i]%2!=0)
31                     {
32                     flag=false;
33 //                    System.out.print(-1);
34                     break;
35                     }
36                 }
37             for(int i=0;i<n;i++)
38             {
39                 if(a[i]>0)
40                 {
41                     count+=a[i]/2;
42                 }
43 
44             }
45             if(!flag)
46                 System.out.print(-1);
47             else
48             System.out.print(count);
49         }
50 
51 }