from bisect import bisect_left from collections import defaultdict def calc_distance_sum(X, Y): Y.sort() prefix = [0] for y in Y: prefix.append(prefix[-1] + y) total = 0 n = len(Y) for x in X: idx = bisect_left(Y, x) left = idx right = n - idx left_sum = x * left - prefix[idx] right_sum = prefix[n] - prefix[idx] - x * right total += left_sum + right_sum return total def main(): N = int(input()) A = list(map(int, input().split())) pos = defaultdict(list) for i, a in enumerate(A): pos[a].append(i) values = sorted(pos.keys()) result = 0 for i in range(len(values)): for j in range(i + 1, len(values)): v1, v2 = values[i], values[j] d = abs(v1 - v2) sum_dist = calc_distance_sum(pos[v1], pos[v2]) result += 2 * d * sum_dist # nhân đôi vì i < j print(result) if __name__ == "__main__": main()