結果
問題 | No.1958 Bit Game |
ユーザー |
👑 ![]() |
提出日時 | 2022-05-27 21:46:06 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 726 bytes |
コンパイル時間 | 350 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 144,120 KB |
最終ジャッジ日時 | 2024-09-20 15:41:54 |
合計ジャッジ時間 | 47,423 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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 i in range(X): S[A[i]&1]+=1 A[i]>>=1 for j in range(Y): T[B[j]&1]+=1 B[j]>>=1 DP=[1,0] for _ in range(N): E=DP; DP=[0,0] for r in [0,1]: for p,q in [[0,0], [0,1], [1,0], [1,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))