結果
問題 |
No.1095 Smallest Kadomatsu Subsequence
|
ユーザー |
|
提出日時 | 2024-12-12 08:09:09 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 780 bytes |
コンパイル時間 | 344 ms |
コンパイル使用メモリ | 82,096 KB |
実行使用メモリ | 67,460 KB |
最終ジャッジ日時 | 2024-12-12 08:09:14 |
合計ジャッジ時間 | 4,805 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | RE * 3 |
other | RE * 30 |
ソースコード
from sortedcontainers import SortedList N = int(input()) A = list(map(int,input().split())) INFTY = 10**14 Bl = [0]*N Br = [0]*N Cl = [0]*N Cr = [0]*N L = SortedList() L.add(A[0]) for i in range(N): if A[i]>L[0]: Bl[i] = L[0] else: Bl[i] = INFTY if L.bisect_right(A[i])<len(L): Cl[i] = L[L.bisect_right(A[i])] else: Cl[i] = INFTY L.add(A[i]) R = SortedList() R.add(A[N-1]) for i in range(N-1,-1,-1): if A[i]>R[0]: Br[i] = R[0] else: Br[i] = INFTY if R.bisect_right(A[i])<len(R): Cr[i] = R[R.bisect_right(A[i])] else: Cr[i] = INFTY R.add(A[i]) ans = INFTY for i in range(N): ans = min(ans,A[i]+Bl[i]+Br[i],A[i]+Cl[i]+Cr[i]) if ans>=INFTY: print(-1) else: print(ans)