結果
問題 |
No.284 門松と魔法(2)
|
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
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)