結果
問題 |
No.3129 Multiple of Twin Subarray
|
ユーザー |
![]() |
提出日時 | 2025-04-25 22:26:37 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 163 ms / 2,000 ms |
コード長 | 472 bytes |
コンパイル時間 | 299 ms |
コンパイル使用メモリ | 82,836 KB |
実行使用メモリ | 137,796 KB |
最終ジャッジ日時 | 2025-04-25 22:26:45 |
合計ジャッジ時間 | 7,204 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 46 |
ソースコード
N=int(input()) A=list(map(int, input().split())) L=[A[0]] LL=[A[0]] for i in range(1,N): a=A[i] L.append((max(a,L[-1]+a))) LL.append((min(a,LL[-1]+a))) B=A[::-1] R=[B[0]] RR=[B[0]] for i in range(1,N): a=B[i] R.append((max(a,R[-1]+a))) RR.append((min(a,RR[-1]+a))) R=R[::-1] RR=RR[::-1] for i in range(N-2,-1,-1): R[i]=max(R[i],R[i+1]) RR[i]=min(RR[i],RR[i+1]) ans=-10**10 for i in range(N-1): ans=max(ans,L[i]*R[i+1],LL[i]*RR[i+1]) print(ans)