結果

問題 No.493 とても長い数列と文字列(Long Long Sequence and a String)
ユーザー convexineq
提出日時 2021-02-09 07:48:23
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 849 bytes
コンパイル時間 651 ms
コンパイル使用メモリ 82,124 KB
実行使用メモリ 77,140 KB
最終ジャッジ日時 2024-07-06 13:20:35
合計ジャッジ時間 8,699 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1 WA * 3
other AC * 1 WA * 114
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

from operator import add
k,L,R = map(int,input().split())
a = [0]*61
for i in range(1,61):
a[i] = 2*a[i-1]+len(str(i*i))
if k > 60 or a[k] < R:
print(-1)
exit()
def s(k,x):
v = 0
for i in str(k*k)[:x]: v += int(i) if i != "0" else 0
return v
def p(k,x):
v = 1
for i in str(k*k)[:x]: v *= int(i) if i != "0" else 0
return v
def f(k,R):
g = s if op==add else p
if R <= 1: return max(R,0)
if R == a[k]: return op(2*f(k-1,a[k-1]) if op==add else f(k-1,a[k-1])**2%MOD, g(k,9))
if R <= a[k-1]: return f(k-1,R)
v = a[k-1] + len(str(k*k))
if R <= v: return op(f(k-1,a[k-1]), g(k,R-a[k-1]))
else: return op(op(f(k-1,a[k-1]), g(k,9)), f(k-1,R-v))
MOD = 10**9+7
def mul(a,b): return a*b%MOD
op = add
print(f(k,R)-f(k,L-1))
op = mul
print(f(k,R)*(pow(f(k,L-1),MOD-2,MOD) if L>1 else 1)%MOD)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0