結果
問題 |
No.3129 Multiple of Twin Subarray
|
ユーザー |
|
提出日時 | 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 |
ソースコード
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])))