結果
| 問題 | No.1444 !Andd | 
| コンテスト | |
| ユーザー |  gew1fw | 
| 提出日時 | 2025-06-12 21:09:12 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                WA
                                 
                             | 
| 実行時間 | - | 
| コード長 | 975 bytes | 
| コンパイル時間 | 330 ms | 
| コンパイル使用メモリ | 81,920 KB | 
| 実行使用メモリ | 85,888 KB | 
| 最終ジャッジ日時 | 2025-06-12 21:10:10 | 
| 合計ジャッジ時間 | 16,617 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| 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))
            
            
            
        