結果

問題 No.3185 Three Abs
ユーザー detteiuu
提出日時 2025-06-20 22:10:31
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 624 ms / 2,000 ms
コード長 623 bytes
コンパイル時間 399 ms
コンパイル使用メモリ 82,324 KB
実行使用メモリ 169,316 KB
最終ジャッジ日時 2025-06-20 22:10:57
合計ジャッジ時間 13,774 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

for _ in range(int(input())):
    N = int(input())
    A = list(map(int, input().split()))

    cum = [0]
    for a in A:
        cum.append(cum[-1]+a)
    MIN = [cum[-1]]
    MAX = [cum[-1]]
    for i in reversed(range(1, N)):
        MIN.append(min(MIN[-1], cum[i]))
        MAX.append(max(MAX[-1], cum[i]))
    MIN = MIN[::-1]
    MAX = MAX[::-1]

    ans = 0
    for i in range(N-2):
        cumL = cum[i+1]
        cumR = cum[-1]-cum[i+1]
        minSUM = MIN[i+1]-cumL
        maxSUM = MAX[i+1]-cumL
        ans = max(ans, abs(cumL)+max(abs(minSUM)+abs(cumR-minSUM), abs(maxSUM)+abs(cumR-maxSUM)))
    
    print(ans)
0