結果
問題 |
No.1375 Divide and Update
|
ユーザー |
![]() |
提出日時 | 2021-02-05 22:18:55 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 652 bytes |
コンパイル時間 | 178 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 172,672 KB |
最終ジャッジ日時 | 2024-07-02 12:47:25 |
合計ジャッジ時間 | 4,523 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 5 WA * 14 |
ソースコード
from itertools import accumulate N, X, Y = map(int, input().split()) A = list(map(int, input().split())) sumA = list(accumulate(A, initial=0)) L = [X * i - s for i, s in enumerate(sumA)] R = [Y * i - s for i, s in enumerate(sumA)] cntL = [L[1] - L[0]] minL = min(L[0], L[1]) maxL = max(L[0], L[1]) for x in L[2:]: minL = min(minL, x) maxL = max(maxL, x) cntL.append(maxL - minL) cntR = [R[N] - R[N-1]] minR = min(R[N], R[N-1]) maxR = max(R[N], R[N-1]) for x in R[:-2][::-1]: minR = min(minR, x) maxR = max(maxR, x) cntR.append(maxR - minR) cntR.reverse() X = sum(A) for i in range(N - 2): print(X + cntL[i] + cntR[i+2])