結果
問題 |
No.1095 Smallest Kadomatsu Subsequence
|
ユーザー |
![]() |
提出日時 | 2024-09-17 21:17:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 105 ms / 2,000 ms |
コード長 | 482 bytes |
コンパイル時間 | 378 ms |
コンパイル使用メモリ | 82,320 KB |
実行使用メモリ | 107,056 KB |
最終ジャッジ日時 | 2024-09-17 21:17:46 |
合計ジャッジ時間 | 3,190 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 30 |
ソースコード
N = int(input()) A = list(map(int, input().split())) L0 = [A[0]] L1 = [A[-1]] for i in range(1, N): L0.append(min(L0[-1], A[i])) L1.append(min(L1[-1], A[-i - 1])) L1 = L1[::-1] ans = INF = 10 ** 9 for i in range(1, N - 1): if L0[i - 1] < A[i] and L1[i + 1] < A[i]: ans = min(ans, L0[i - 1] + A[i] + L1[i + 1]) mini = A.index(min(A)) if 0 < mini < N - 1: ans = min(ans, L0[mini - 1] + A[mini] + L1[mini + 1]) if ans == INF: print(-1) else: print(ans)