結果
問題 |
No.1095 Smallest Kadomatsu Subsequence
|
ユーザー |
![]() |
提出日時 | 2020-06-26 21:32:09 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,204 bytes |
コンパイル時間 | 148 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 109,056 KB |
最終ジャッジ日時 | 2024-07-04 19:47:57 |
合計ジャッジ時間 | 3,431 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 WA * 11 |
ソースコード
import sys input=sys.stdin.readline def I(): return int(input()) def MI(): return map(int, input().split()) def LI(): return list(map(int, input().split())) def main(): mod=10**9+7 N=I() A=LI() inf=10**9 ml=[inf]*N mr=[inf]*N m=inf for i in range(N): ml[i]=m if A[i]<m: m=A[i] m=inf for i in range(N-1,-1,-1): mr[i]=m if A[i]<m: m=A[i] ans=inf for i in range(N): if ml[i]<A[i] and mr[i]<A[i]: temp=ml[i]+mr[i]+A[i] ans=min(ans,temp) ################### for i in range(N): A[i]*=-1 inf=-1*(10**9) ml=[inf]*N mr=[inf]*N m=inf for i in range(N): ml[i]=m if A[i]>m: m=A[i] m=inf for i in range(N-1,-1,-1): mr[i]=m if A[i]>m: m=A[i] ans2=inf for i in range(N): if ml[i]>A[i] and mr[i]>A[i]: temp=ml[i]+mr[i]+A[i] ans2=max(ans2,temp) ans2*=-1 ans=min(ans,ans2) inf=10**9 if ans>=inf: ans=-1 print(ans) main()