結果
| 問題 |
No.1973 Divisor Sequence
|
| コンテスト | |
| ユーザー |
回転
|
| 提出日時 | 2025-10-23 16:21:08 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 699 bytes |
| コンパイル時間 | 384 ms |
| コンパイル使用メモリ | 83,020 KB |
| 実行使用メモリ | 328,428 KB |
| 最終ジャッジ日時 | 2025-10-23 16:21:23 |
| 合計ジャッジ時間 | 14,650 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 TLE * 1 |
| other | AC * 10 TLE * 2 -- * 10 |
ソースコード
MOD = 10**9+7
N,M = list(map(int,input().split()))
def divisor(n):
sq = n**0.5
border = int(sq)
table = []
bigs = []
for small in range(1, border+1):
if n%small == 0:
table.append(small)
big = n//small
bigs.append(big)
if border == sq:#nが平方数
bigs.pop()
table += reversed(bigs)
return table
ps = divisor(M)
dp = [[0 for _ in range(len(ps))] for _ in range(N)]
dp[0] = [1] * len(ps)
for i in range(N-1):
for j in range(len(ps)):
for k in range(len(ps)):
if(ps[j] * ps[k] > M):break
if(M % (ps[j]*ps[k]) != 0):continue
dp[i+1][k] += dp[i][j]
dp[i+1][k] %= MOD
print(sum(dp[-1]) % MOD)
回転