結果
問題 |
No.1659 Product of Divisors
|
ユーザー |
|
提出日時 | 2024-07-13 15:56:09 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 719 bytes |
コンパイル時間 | 293 ms |
コンパイル使用メモリ | 82,424 KB |
実行使用メモリ | 83,124 KB |
最終ジャッジ日時 | 2024-07-13 15:56:15 |
合計ジャッジ時間 | 5,459 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 7 TLE * 1 -- * 15 |
ソースコード
def factorization(n: int) -> dict[int, int]: arr = dict() temp = n for i in range(2, int(-(-(n**0.5) // 1)) + 1): if temp % i == 0: cnt = 0 while temp % i == 0: cnt += 1 temp //= i arr[i] = cnt if temp != 1: arr[temp] = 1 if not arr and n != 1: arr[n] = 1 return arr N, K = map(int, input().split()) MOD = 10**9 + 7 def comb(n: int, r: int) -> int: res = 1 for i in range(r): res *= n - i res *= pow(i + 1, -1, MOD) res %= MOD return res ans = 1 fac = factorization(N) for ct in fac.values(): tmp = 1 ans *= comb(ct + K, K) ans %= MOD print(ans)