- 将原数组 A 排序;
- 在排序后的数组中寻找长度为 M 的子段;
- 对每个子段,计算它的不和谐度;
- 所以只需找连续 M 个平方值中最大 - 最小最小的。
N, M = map(int, input().split()) A = list(map(int, input().split())) A.sort() min_L = float('inf') for i in range(N - M + 1): l = A[i] r = A[i + M - 1] L = r*r - l*l if L < min_L: min_L = L print(min_L)