結果
問題 | No.1531 く2 |
ユーザー |
![]() |
提出日時 | 2021-06-09 22:11:58 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 42 ms / 2,000 ms |
コード長 | 659 bytes |
コンパイル時間 | 163 ms |
コンパイル使用メモリ | 82,192 KB |
実行使用メモリ | 60,444 KB |
最終ジャッジ日時 | 2024-11-28 23:27:10 |
合計ジャッジ時間 | 3,315 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 44 |
ソースコード
n,k = map(int,input().split()) M = 64 d0 = [0]*M d1 = [0]*M d0[0] = 1 for i in range(M): if n>>i&1: nd0 = d0[:] nd1 = d1[:] if k>>i&1: nd0.insert(0,0) nd0.pop() for i in range(M-1): nd1[i+1] += d1[i] nd1[i] += d0[i] else: for i in range(M-1): nd0[i+1] += d0[i] + d1[i] d0,d1 = nd0,nd1 else: if k>>i&1: d0.pop() d0.insert(0,0) else: for i in range(M-1): d0[i+1] += d1[i] d1 = [0]*M print(sum(2**i*v for i,v in enumerate(d0))%998244353)