每个输入包含一个测试用例。每个测试用例的第一行包含一个整数 n(1 <= n <= 100),接下来的一行包含 n 个整数 ai
(1 <= ai <= 100)。
输出一行表示最少需要移动多少次可以平分苹果,如果方案不存在则输出 -1。
4 7 15 9 5
3
import java.util.Scanner;
public class Main1 {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
int n=scanner.nextInt();
int [] a=new int[n];
int sum=0;
for(int i=0;i<n;i++){
a[i]=scanner.nextInt();
sum+=a[i];
}
if (sum%n!=0) {
System.out.println(-1);
return;
}
int x=sum/n;
for (int i = 0; i < a.length; i++) {
if (Math.abs(a[i]-x)%2!=0) {
System.out.println(-1);
return;
}
}
int cout=0;
for (int i = 0; i < a.length; i++) {
if (a[i]<x) {
cout+=(x-a[i])/2;
}
}
System.out.println(cout);
}
}
原文:https://www.cnblogs.com/52circle/p/9015810.html