n, m = map(int, input().split()) a = list(map(int, input().split())) a,min1 = sorted(a), float('inf') for i in range(n-m+1): x,y = a[i],a[i+m-1] shu = y**2-x**2 if shu < min1: min1 = shu print(min1)
##此题看似很难,但是我们在做这种题的时候,都一定是转化为单循环,双循环必超时,由于不和谐度与数之间的差值和和有关,因为x平方减y平方等于x与y的和乘以x与y的差,所以xy应该尽量小,且差值也应该小,所以此时可以直接sorted,之后可以发现,因为排序后Bi的值一直在增大,所以可以去掉绝对值,所以化简成了最后一个数的平方减去第一个数的平方,由此转化成了单循环