結果
| 問題 | No.3478 XOR-Folding Primes |
| コンテスト | |
| ユーザー |
👑 |
| 提出日時 | 2026-03-21 08:18:23 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 936 bytes |
| 記録 | |
| コンパイル時間 | 351 ms |
| コンパイル使用メモリ | 85,636 KB |
| 実行使用メモリ | 268,628 KB |
| 最終ジャッジ日時 | 2026-03-21 08:19:18 |
| 合計ジャッジ時間 | 41,318 ms |
|
ジャッジサーバーID (参考情報) |
judge2_1 / judge1_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 5 TLE * 3 |
ソースコード
R=range J=lambda:list(map(int,input().split())) P=[2,3,5,7,11,13,17,19,23,29] def MillerRabin(n): assert n>0 if n<2:return 0 if n in P:return 1 if any(n%p<1 for p in P):return 0 u,v=n-1,0 while u&1<1:u>>=1;v+=1 for p in P: m=pow(p,u,n) if m!=1: for e in R(v): if m==n-1:break m=m*m%n else:return 0 return 1 Q=[2] T=[] for p in R(3,10**7): if MillerRabin(p): Q.append(p) if(p>>1)&1<1 and MillerRabin(p|2):T.append(p) B=998244353 def Act(X,v,n): L=len(v) while n: if n&1:v=[sum(a[j]*v[j]for j in R(L))%B for a in X] X=[[sum(a[j]*X[j][k]for j in R(L))%B for k in R(L)]for a in X] n>>=1 return v for t in R(sum(J())): N,M=J() if N==1: l,r=0,len(Q) while l<r-1: m=(l+r)>>1 if Q[m]>M:r=m else:l=m print(l+1) else: l,r=0,len(T) while l<r-1: m=(l+r)>>1 if T[m]>M:r=m else:l=m if T[l]|2>M:L=l*2 else:L=l*2+2 v=[1,L] X=[[0,1],[L,1]] v=Act(X,v,N-1) print(sum(v)%B)