結果
| 問題 |
No.1973 Divisor Sequence
|
| コンテスト | |
| ユーザー |
pitP
|
| 提出日時 | 2022-06-11 01:25:05 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 578 ms / 2,000 ms |
| コード長 | 731 bytes |
| コンパイル時間 | 256 ms |
| コンパイル使用メモリ | 82,048 KB |
| 実行使用メモリ | 232,064 KB |
| 最終ジャッジ日時 | 2024-09-21 08:37:24 |
| 合計ジャッジ時間 | 5,090 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 22 |
ソースコード
def fact(num):
i=2
ans=dict()
while i*i <=num:
while num%i==0:
num=num//i
if i in ans:
ans[i]+=1
else:
ans[i]=1
i+=1
if num!=1:
ans[num]=1
return ans
mod = 10**9+7
n,m = map(int,input().split())
primes = fact(m)
ans = 1
for _,value in primes.items():
dp = [[0 for _ in range(n+1)] for _ in range(value + 1)]
dp[0][0] = 1
for i in range(n):
s = 0
for j in range(value+1):
s += dp[j][i]
s %= mod
for j in range(value+1):
dp[j][i+1] += s
dp[j][i+1] %= mod
s -= dp[value-j][i]
cnt = 0
for j in range(value+1):
cnt += dp[j][n]
cnt += mod
ans *= cnt
ans %= mod
print(ans)
pitP