結果
問題 | No.1391 ±1 Abs Sum |
ユーザー | 👑 rin204 |
提出日時 | 2024-05-07 21:40:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 158 ms / 2,000 ms |
コード長 | 461 bytes |
コンパイル時間 | 1,962 ms |
コンパイル使用メモリ | 81,664 KB |
実行使用メモリ | 121,296 KB |
最終ジャッジ日時 | 2024-11-30 18:12:39 |
合計ジャッジ時間 | 7,232 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 34 |
ソースコード
n, k = map(int, input().split()) A = list(map(int, input().split())) cum = [0] for a in A: cum.append(cum[-1] + a) ans = 1 << 60 r = k for i, a in enumerate(A): while r < n and A[r] - A[i] < A[i] - A[r - k]: r += 1 l = r - k tot = 0 tot -= (cum[n] - cum[r]) - a * (n - r) tot += (cum[r] - cum[i]) - a * (r - i) tot -= (cum[i] - cum[l]) - a * (i - l) tot += (cum[l] - cum[0]) - a * l ans = min(ans, tot) print(ans)