結果

問題 No.284 門松と魔法(2)
ユーザー lam6er
提出日時 2025-04-16 16:46:43
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 588 bytes
コンパイル時間 389 ms
コンパイル使用メモリ 81,860 KB
実行使用メモリ 92,448 KB
最終ジャッジ日時 2025-04-16 16:49:31
合計ジャッジ時間 3,122 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 25 WA * 15
権限があれば一括ダウンロードができます

ソースコード

diff #

n = int(input())
a = list(map(int, input().split()))

# Step 1: Remove consecutive duplicates
b = []
prev = None
for num in a:
    if num != prev:
        b.append(num)
        prev = num
m = len(b)

if m < 3:
    print(0)
else:
    dp_up = [1] * m
    dp_down = [1] * m
    for i in range(1, m):
        if b[i] > b[i-1]:
            dp_up[i] = dp_down[i-1] + 1
            dp_down[i] = dp_down[i-1]
        elif b[i] < b[i-1]:
            dp_down[i] = dp_up[i-1] + 1
            dp_up[i] = dp_up[i-1]
    max_len = max(max(dp_up), max(dp_down))
    print(max_len if max_len >= 3 else 0)
0