結果

問題 No.3185 Three Abs
ユーザー titia
提出日時 2025-06-22 02:25:16
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 326 ms / 2,000 ms
コード長 812 bytes
コンパイル時間 462 ms
コンパイル使用メモリ 82,640 KB
実行使用メモリ 146,672 KB
最終ジャッジ日時 2025-06-22 02:25:30
合計ジャッジ時間 12,140 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
input = sys.stdin.readline

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

    DP1=[-1<<60]*(N+1)
    DP2P=[-1<<60]*(N+1)
    DP2M=[-1<<60]*(N+1)
    DP3P=[-1<<60]*(N+1)
    DP3M=[-1<<60]*(N+1)

    DP1[0]=0

    for i in range(N):
        x=A[i]

        DP1[i+1]=DP1[i]+x
        DP2P[i+1]=DP2P[i]+x
        DP2M[i+1]=DP2M[i]-x
        DP3P[i+1]=DP3P[i]+x
        DP3M[i+1]=DP3M[i]-x

        if i>=1:
            DP2P[i+1]=max(DP2P[i+1],abs(DP1[i])+x)
            DP2M[i+1]=max(DP2M[i+1],abs(DP1[i])-x)

            DP3P[i+1]=max(DP3P[i+1],DP2P[i]+x)
            DP3P[i+1]=max(DP3P[i+1],DP2M[i]+x)

            DP3M[i+1]=max(DP3M[i+1],DP2P[i]-x)
            DP3M[i+1]=max(DP3M[i+1],DP2M[i]-x)

    print(max(DP3P[-1],DP3M[-1]))
            
        
0