結果

問題 No.1973 Divisor Sequence
ユーザー ああいいああいい
提出日時 2022-06-12 08:05:30
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 615 bytes
コンパイル時間 430 ms
コンパイル使用メモリ 82,508 KB
実行使用メモリ 83,040 KB
最終ジャッジ日時 2024-09-22 18:00:06
合計ジャッジ時間 6,825 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 37 ms
59,612 KB
testcase_01 AC 37 ms
52,760 KB
testcase_02 AC 395 ms
75,852 KB
testcase_03 AC 63 ms
73,796 KB
testcase_04 AC 255 ms
75,780 KB
testcase_05 AC 85 ms
75,924 KB
testcase_06 AC 178 ms
76,112 KB
testcase_07 AC 82 ms
76,040 KB
testcase_08 AC 126 ms
75,896 KB
testcase_09 AC 230 ms
75,932 KB
testcase_10 AC 864 ms
75,940 KB
testcase_11 AC 85 ms
75,936 KB
testcase_12 AC 158 ms
76,008 KB
testcase_13 AC 104 ms
76,460 KB
testcase_14 TLE -
testcase_15 -- -
testcase_16 -- -
testcase_17 -- -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
testcase_22 -- -
testcase_23 -- -
testcase_24 -- -
権限があれば一括ダウンロードができます

ソースコード

diff #

N,M = map(int,input().split())
P = 10 ** 9 + 7

div = []
i = 1
while i * i <= M:
    if M % i == 0:
        div.append(i)
        if i != M // i:
            div.append(M // i)
    i += 1
n = len(div)
s = set(div)
G = [[] for _ in range(n)]
for i in range(n):
    p = div[i]
    for j in range(n):
        q = div[j]
        if p * q in s:
            G[i].append(j)
dp = [1] * n
for _ in range(N - 1):
    nx = [0] * n
    for i in range(n):
        for j in G[i]:
            nx[j] += dp[i]
    for i in range(n):
        nx[i] %= P
    dp = nx
ans = 0
for i in range(n):
    ans += dp[i]
    ans %= P
print(ans)
0