結果
問題 |
No.1659 Product of Divisors
|
ユーザー |
![]() |
提出日時 | 2021-11-26 00:01:58 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 956 bytes |
コンパイル時間 | 176 ms |
コンパイル使用メモリ | 82,296 KB |
実行使用メモリ | 58,112 KB |
最終ジャッジ日時 | 2024-06-28 16:41:56 |
合計ジャッジ時間 | 2,173 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 21 WA * 2 |
ソースコード
def powmod(n,pow,mod): val = 1 while pow > 0: if pow & 1: val = (val * n) % mod pow = pow >> 1 n = (n * n) % mod return val n, m = map(int, input().split()) p = 10**9+7 val = 2 renzoku = 0 ans = 1 while val * val <= n: if n % val == 0: n = n // val renzoku += 1 else: if renzoku >= 1: kari = 1 div = 1 for i in range(renzoku): div = (div * (i+1)) % p kari = (kari * (m+renzoku-i)) % p kari = (kari * powmod(div,p-2,p)) % p ans = (ans * kari) % p renzoku = 0 val += 1 if n == val: renzoku += 1 else: ans = ans * (m+1) % p if renzoku >= 1: kari = 1 div = 1 for i in range(renzoku): div = (div * (i+1)) % p kari = (kari * (m+renzoku-i)) % p kari = (kari * powmod(div,p-2,p)) % p ans = (ans * kari) % p print("{}".format(ans))