結果
問題 | No.1741 Arrays and XOR Procedure |
ユーザー |
👑 |
提出日時 | 2022-01-23 07:59:52 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 103 ms / 2,000 ms |
コード長 | 558 bytes |
コンパイル時間 | 199 ms |
コンパイル使用メモリ | 81,944 KB |
実行使用メモリ | 103,680 KB |
最終ジャッジ日時 | 2024-11-29 03:02:50 |
合計ジャッジ時間 | 5,279 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 41 |
ソースコード
MOD = 998244353 n = int(input()) B = list(map(int, input().split())) bi = 0 x = 0 odd = 0 even = 0 for i in range(n): if B[i] == -1: if bi == 0: odd += 1 else: even += 1 else: if bi == 0: x ^= B[i] if i == n - 1: break y = n - i - 1 while y % 2 == 0: y //= 2 bi += 1 y = i + 1 while y % 2 == 0: y //= 2 bi -= 1 if odd > 0: print(pow(2, odd + even - 1, MOD)) elif x == 0: print(0) else: print(pow(2, even, MOD))