結果
問題 | No.1407 Kindness |
ユーザー | titia |
提出日時 | 2021-02-26 22:36:01 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
RE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 803 bytes |
コンパイル時間 | 207 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 26,496 KB |
最終ジャッジ日時 | 2024-10-02 15:18:39 |
合計ジャッジ時間 | 9,445 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 12 RE * 24 |
ソースコード
import sys input = sys.stdin.readline N=input().strip() mod=10**9+7 if int(N)<=2000: ANS=0 for i in range(int(N)+1): x=str(i) SX=1 for y in x: SX=SX*int(y) ANS+=SX print(ANS%mod) exit() S=[1,45] for i in range(2*10**5): S.append(S[-1]*45%mod) S1=[0,45] for i in range(2*10**5): S1.append((S1[-1]+pow(45,i+2,mod))%mod) H=[0,1,3,6,10,15,21,28,36,45,0] H1=[1,2,4,7,11,16,22,29,37,46] ANS=0 kakeru=1 LEN=len(N) for i in range(LEN): if i==0: ANS=ANS+(H[int(N[i])-1])*pow(45,LEN-i-1,mod)+S1[LEN-i-1] elif i==LEN-1: ANS=ANS+kakeru*H[int(N[i])]*S[LEN-i-1] else: ANS=ANS+kakeru*H[int(N[i])-1]*S[LEN-i-1] ANS%=mod kakeru=kakeru*int(N[i])%mod #print(ANS) print(ANS)