結果
問題 | No.435 占い(Extra) |
ユーザー |
![]() |
提出日時 | 2016-10-14 14:34:21 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 1,253 bytes |
コンパイル時間 | 311 ms |
コンパイル使用メモリ | 82,560 KB |
実行使用メモリ | 83,640 KB |
最終ジャッジ日時 | 2024-10-08 11:52:08 |
合計ジャッジ時間 | 9,657 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | MLE * 4 |
other | MLE * 32 |
ソースコード
import sys from sys import stdin, stdout import array import gc #!/usr/bin/env python3 two_inv=[0,1,5,0,7,2,0,4,8,0] t=int(sys.stdin.readline()) total=0 while t!=0: t-=1 [n,x,a,b,m]=map(int,sys.stdin.readline().split()) coef=array.array('b') coef.append(1) f=(n-1)//2 ans=x%10 num=n-1 den=1 two=1 three=0 add=x%10 i=0 while i < f: i+=1 tmp=num; while tmp%3==0: tmp//=3 three+=1 two*=tmp; tmp=den; while tmp%3==0: tmp//=3 three-=1 two=(two*(two_inv[tmp%9]))%9 num-=1 den+=1 if three>=2: coef.append(0) else: coef.append(two*(2*three+1)) i=0 while i<f: i+=1 x=((x^a)+b)%m s=x%10 add+=s ans+=s*coef[i] i=n-1-i-1 while i>=0: x=((x^a)+b)%m s=x%10 add+=s ans+=s*coef[i] i-=1 ans%=9 if add !=0 and ans ==0: ans=9; sys.stdout.write(str(ans)) sys.stdout.write('\n') total+=len(coef) if t%10000==0 or total > 3000000: gc.collect() total=0