結果
問題 |
No.1444 !Andd
|
ユーザー |
![]() |
提出日時 | 2025-06-12 16:25:43 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 975 bytes |
コンパイル時間 | 179 ms |
コンパイル使用メモリ | 82,344 KB |
実行使用メモリ | 86,616 KB |
最終ジャッジ日時 | 2025-06-12 16:26:22 |
合計ジャッジ時間 | 17,954 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | WA * 20 |
ソースコード
N = int(input()) A = list(map(int, input().split())) current_states = set() current_states.add((False, 1)) # Initial state: X=1 (low, lower 10 bits are 1) for a in A: next_states = set() for (h, l) in current_states: # Multiply operation if a == 0: new_h = False new_l = 0 next_states.add((new_h, new_l)) else: if h: new_h = True new_l = (l * a) % 1024 next_states.add((new_h, new_l)) else: product = l * a if product >= 1024: new_h = True new_l = product % 1024 else: new_h = False new_l = product next_states.add((new_h, new_l)) # AND operation new_l_and = l & a next_states.add((False, new_l_and)) current_states = next_states print(len(current_states))