⭐ 原题地址
⭐ 大佬题解
import java.util.Arrays;
import java.util.Scanner;
public class Main
{
static int N = (int) 1e6 + 10;
static int[] a = new int[N];
static int[] c = new int[N];
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
long sum = 0;
for (int i = 1; i <= n; i++)
{
a[i] = sc.nextInt();
sum += a[i];
}
long ave = sum / n;
for (int i = 2; i <= n; i++)
c[i] = (int) (c[i - 1] + a[i] - ave);
Arrays.sort(c, 1, n + 1);
long res = 0;
int mid = c[n / 2 + 1];
for (int i = 1; i <= n; i++)
res += Math.abs(c[i] - mid);
System.out.println(res);
}
}