結果

問題 No.1391 ±1 Abs Sum
ユーザー gew1fw
提出日時 2025-06-12 21:16:49
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 954 bytes
コンパイル時間 387 ms
コンパイル使用メモリ 82,248 KB
実行使用メモリ 108,352 KB
最終ジャッジ日時 2025-06-12 21:17:27
合計ジャッジ時間 4,302 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 13 WA * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

def main():
    import sys
    input = sys.stdin.read
    data = input().split()
    N = int(data[0])
    K = int(data[1])
    A = list(map(int, data[2:2+N]))
    
    if N == 0:
        print(0)
        return
    
    # Compute for x = A[0]
    if K == 0:
        sum_T1 = 0
    else:
        m = min(K-1, N-1)
        sum_T1 = 0
        for i in range(1, 1 + m):
            sum_T1 += A[i] - A[0]
    
    sum_S1 = 0
    for i in range(N):
        sum_S1 += A[i] - A[0]
    F1 = 2 * sum_T1 - sum_S1
    
    # Compute for x = A[-1]
    if K == 0:
        sum_T2 = 0
    else:
        m = min(K-1, N-1)
        sum_T2 = 0
        start = max(0, (N-1) - m)
        for i in range(start, N-1):
            sum_T2 += A[-1] - A[i]
    
    sum_S2 = 0
    for i in range(N):
        sum_S2 += A[-1] - A[i]
    F2 = 2 * sum_T2 - sum_S2
    
    # The minimal value is the minimum of F1 and F2
    print(min(F1, F2))
    
if __name__ == '__main__':
    main()
0