結果
| 問題 |
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)