結果
問題 |
No.1958 Bit Game
|
ユーザー |
👑 ![]() |
提出日時 | 2022-05-27 21:42:15 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 693 bytes |
コンパイル時間 | 198 ms |
コンパイル使用メモリ | 82,076 KB |
実行使用メモリ | 144,104 KB |
最終ジャッジ日時 | 2024-09-20 15:38:23 |
合計ジャッジ時間 | 48,166 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 TLE * 11 |
ソースコード
def solve(N,X,Y,A,B): mu=max(max(A), max(B)).bit_length() Ans=0; Mod=998244353 for d in range(mu): S=[0,0]; T=[0,0] for a in A: S[(a>>d)&1]+=1 for b in B: T[(b>>d)&1]+=1 DP=[1,0] for _ in range(N): E=DP; DP=[0,0] for r in [0,1]: for p in [0,1]: for q in [0,1]: h=S[p]*T[q]%Mod DP[(r|p)&q]+=h*E[r]%Mod DP=[t%Mod for t in DP] Ans+=DP[1]*(1<<d) return Ans%Mod N,X,Y=map(int,input().split()) A=list(map(int,input().split())) B=list(map(int,input().split())) print(solve(N,X,Y,A,B))