結果
問題 | No.1973 Divisor Sequence |
ユーザー |
|
提出日時 | 2022-06-24 09:21:09 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,283 ms / 2,000 ms |
コード長 | 856 bytes |
コンパイル時間 | 328 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 368,996 KB |
最終ジャッジ日時 | 2024-11-08 02:32:34 |
合計ジャッジ時間 | 9,604 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
import sysinput = lambda: sys.stdin.readline().rstrip()mod = 1000000007from collections import Counterdef factorization(n: int) -> Counter:ret = Counter()tmp = nfor i in range(2, int(-(-n**0.5//1))+1):if tmp == 1:breakif tmp % i == 0:cnt = 0while tmp % i == 0:cnt += 1tmp //= iret[i] = cntif tmp != 1:ret[tmp] = 1if ret == []:ret[n] = 1return ret# ----------------------- #n, m = map(int, input().split())ans = 1for p,e in factorization(m).items():dp = [[0]*(e+1) for _ in range(n+1)]for i in range(e+1):dp[0][i] = 1for i in range(n):acc = [0] * (e+2)for j in range(e+1):acc[j+1] += acc[j] + dp[i][j]for j in range(e+1):dp[i+1][j] += acc[e-j+1]dp[i+1][j] %= modans *= dp[-1][0]ans %= modprint(ans)