結果
| 問題 |
No.1095 Smallest Kadomatsu Subsequence
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-05-09 17:54:19 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 104 ms / 2,000 ms |
| コード長 | 593 bytes |
| コンパイル時間 | 387 ms |
| コンパイル使用メモリ | 82,336 KB |
| 実行使用メモリ | 110,244 KB |
| 最終ジャッジ日時 | 2024-12-16 09:05:35 |
| 合計ジャッジ時間 | 4,677 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 30 |
ソースコード
N = int(input())
A = list(map(int, input().split()))
for i in range(N - 1):
if A[i] < A[i + 1]:
break
else:
print(-1)
exit()
for i in range(N - 1):
if A[i] > A[i + 1]:
break
else:
print(-1)
exit()
LMIN = [A[0]] * N
RMIN = [A[-1]] * N
for i in range(1, N):
LMIN[i] = min(LMIN[i - 1], A[i])
for i in reversed(range(N - 1)):
RMIN[i] = min(RMIN[i + 1], A[i])
ans = 10 ** 10
for i in range(1, N - 1):
if LMIN[i - 1] < A[i] > RMIN[i + 1] or LMIN[i - 1] > A[i] < RMIN[i + 1]:
ans = min(ans, LMIN[i - 1] + A[i] + RMIN[i + 1])
print(ans)