n = int(input()) a = list(map(int, input().split())) a.sort() prefix_sum = [0] * (n + 1) for i in range(n): prefix_sum[i+1] = prefix_sum[i] + a[i] max_S = 0 for i in range(n): s_max = min(i, n - 1 - i) if s_max < 0: continue left_start = i - s_max left_sum = prefix_sum[i] - prefix_sum[left_start] sum_left_diff = a[i] * s_max - left_sum right_start = n - s_max right_sum = prefix_sum[n] - prefix_sum[right_start] sum_right_diff = right_sum - a[i] * s_max S = sum_right_diff - sum_left_diff if S > max_S: max_S = S # Check for even cases (k even) for s in range(1, n//2 + 1): # Check possible even k = 2s # median is (x_{s} + x_{s+1}) / 2 # The best for even k would be to take the largest 2s elements? # Or find the best pair of middle elements. # This part is complex, but let's consider taking pairs of middle elements. for i in range(s-1, n - s): # The median is (a[i] + a[i+1])/2 # take i - (s-1) to i + s # elements from i - (s-1) to i+s (total 2s elements) start = i - (s-1) end = i + s if start < 0 or end >= n: continue total = prefix_sum[end+1] - prefix_sum[start] median_val = (a[i] + a[i+1]) / 2 S = total - 2 * s * median_val if S > max_S and S.is_integer(): max_S = int(S) print(max_S)