結果
問題 |
No.2994 べき内積
|
ユーザー |
👑 |
提出日時 | 2024-12-14 17:19:17 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 682 ms / 2,000 ms |
コード長 | 509 bytes |
コンパイル時間 | 337 ms |
コンパイル使用メモリ | 82,368 KB |
実行使用メモリ | 131,104 KB |
最終ジャッジ日時 | 2024-12-15 11:58:47 |
合計ジャッジ時間 | 8,510 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
R=range J=lambda:list(map(int,input().split())) P=1009 M,N,*_=J() M+=1 N+=1 K=J() A=J() def c(f,g,d):return[sum(f[j]*g[i-j]for j in R(i+1))%P for i in R(d)] def p(f,n,d): a=[0]*d;a[0]=1 while n: if n&1:a=c(a,f,d) f=c(f,f,d);n>>=1 return a Q=[N]*(M+1);Q[0]=1 e=0 a=[0]*N;a[0]=1 for m in R(M): if Q[m]<N: B=p(A,K[m],(N-1)//Q[m]+1);t=[0]*N;Q[m+1]=Q[m]*P for i in R(N): for j in R((N-1-i)//Q[m]+1):t[i+j*Q[m]]+=a[i]*B[j] a=[x%P for x in t] else:e+=K[m] s=pow(A[0],e,P) print(*[x*s%P for x in a])