結果
問題 |
No.1095 Smallest Kadomatsu Subsequence
|
ユーザー |
![]() |
提出日時 | 2020-06-26 21:37:05 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 113 ms / 2,000 ms |
コード長 | 1,259 bytes |
コンパイル時間 | 168 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 108,928 KB |
最終ジャッジ日時 | 2024-07-04 19:59:19 |
合計ジャッジ時間 | 3,560 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
ソースコード
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 # print(ml) # print(mr) # print(ans2) ans=min(ans,ans2) inf=10**9 if ans>=inf: ans=-1 print(ans) main()