n, k = map(int, input().split()) a = list(map(int, input().split())) prefix = [0] * (n + 1) for i in range(n): prefix[i+1] = prefix[i] + a[i] if k == 0: sum_left = (prefix[n] - prefix[0]) - n * a[0] sum_right = a[-1] * n - (prefix[n] - prefix[0]) max_sum = max(sum_left, sum_right) print(-max_sum) elif k == n: if n % 2 == 0: mid = n // 2 - 1 else: mid = n // 2 x = a[mid] left_sum = x * (mid + 1) - prefix[mid + 1] right_sum = (prefix[n] - prefix[mid + 1]) - x * (n - (mid + 1)) total = left_sum + right_sum print(total) else: min_val = float('inf') for i in range(n - k + 1): # Calculate for left end (a[i]) sum_s_left = (prefix[i + k] - prefix[i]) - k * a[i] sum_t_left = (i * a[i] - prefix[i]) + (prefix[n] - prefix[i + k] - (n - i - k) * a[i]) current_left = sum_s_left - sum_t_left # Calculate for right end (a[i + k - 1]) sum_s_right = k * a[i + k - 1] - (prefix[i + k] - prefix[i]) sum_t_right = (i * a[i + k - 1] - prefix[i]) + (prefix[n] - prefix[i + k] - (n - i - k) * a[i + k - 1]) current_right = sum_s_right - sum_t_right min_val = min(min_val, current_left, current_right) print(min_val)