結果

問題 No.2836 Comment Out
ユーザー lam6er
提出日時 2025-04-09 21:02:56
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 848 bytes
コンパイル時間 210 ms
コンパイル使用メモリ 82,844 KB
実行使用メモリ 113,772 KB
最終ジャッジ日時 2025-04-09 21:05:40
合計ジャッジ時間 6,107 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 29 WA * 23
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
A = list(map(int, input().split()))

segments = []
current_segment = []
for num in A:
    if num == 0:
        if current_segment:
            segments.append(current_segment)
            current_segment = []
    else:
        current_segment.append(num)
if current_segment:
    segments.append(current_segment)

valid = True
for seg in segments:
    m = len(seg)
    if m == 0:
        continue
    if seg[0] != 1 or seg[-1] != 1:
        valid = False
        break
    # Check left to right
    for i in range(1, m):
        if seg[i] > seg[i-1] + 1:
            valid = False
            break
    if not valid:
        break
    # Check right to left
    for i in range(m-2, -1, -1):
        if seg[i] > seg[i+1] + 1:
            valid = False
            break
    if not valid:
        break

print("Yes" if valid else "No")
0