結果

問題 No.3129 Multiple of Twin Subarray
ユーザー K2
提出日時 2025-04-25 22:34:52
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 581 bytes
コンパイル時間 506 ms
コンパイル使用メモリ 82,824 KB
実行使用メモリ 113,152 KB
最終ジャッジ日時 2025-04-25 22:35:12
合計ジャッジ時間 6,561 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 44 WA * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
A = list(map(int, input().split()))
INF = int(3e9)

def solve(a):
    dpl = [-INF] * (N+1)
    dpr = [-INF] * (N+1)

    for i in range(1, N+1):
        dpl[i] = max(dpl[i-1]+a[i-1], a[i-1])
    for i in range(N-1, -1, -1):
        dpr[i] = max(dpr[i+1]+a[i], a[i])

    maxl = [-INF] * (N+1)
    maxr = [-INF] * (N+1)
    for i in range(1, N+1):
        maxl[i] = max(maxl[i-1], dpl[i])
    for i in range(N-1, -1, -1):
        maxr[i] = max(maxr[i+1], dpr[i])

    return max(maxl[i+1] * maxr[i+1] for i in range(N))

print(max(solve(A), solve([-x for x in A])))
0