結果
| 問題 | 
                            No.1391 ±1 Abs Sum
                             | 
                    
| コンテスト | |
| ユーザー | 
                             lam6er
                         | 
                    
| 提出日時 | 2025-03-31 18:02:01 | 
| 言語 | PyPy3  (7.3.15)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,138 bytes | 
| コンパイル時間 | 257 ms | 
| コンパイル使用メモリ | 82,588 KB | 
| 実行使用メモリ | 106,392 KB | 
| 最終ジャッジ日時 | 2025-03-31 18:02:34 | 
| 合計ジャッジ時間 | 5,130 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 14 WA * 20 | 
ソースコード
n, k = map(int, input().split())
a = list(map(int, input().split()))
a.sort()
prefix = [0] * (n + 1)
for i in range(n):
    prefix[i + 1] = prefix[i] + a[i]
if k == 0:
    sum_all = prefix[n] - prefix[0]
    sum_left = sum_all - a[0] * n
    sum_right = a[-1] * n - sum_all
    ans = -max(sum_left, sum_right)
elif k == n:
    if n % 2 == 1:
        mid = n // 2
        x = a[mid]
        sum_median = sum(abs(num - x) for num in a)
        ans = sum_median
    else:
        mid1 = (n // 2) - 1
        mid2 = n // 2
        x1 = a[mid1]
        x2 = a[mid2]
        sum1 = sum(abs(num - x1) for num in a)
        sum2 = sum(abs(num - x2) for num in a)
        ans = min(sum1, sum2)
else:
    # Left case: first K elements
    sum_S_left = (prefix[k] - prefix[0]) - a[0] * k
    sum_non_S_left = (prefix[n] - prefix[k]) - a[0] * (n - k)
    left_val = sum_S_left - sum_non_S_left
    # Right case: last K elements
    sum_S_right = a[-1] * k - (prefix[n] - prefix[n - k])
    sum_non_S_right = a[-1] * (n - k) - (prefix[n - k] - prefix[0])
    right_val = sum_S_right - sum_non_S_right
    ans = min(left_val, right_val)
print(ans)
            
            
            
        
            
lam6er