結果

問題 No.2043 Ohuton and Makura
ユーザー asumo0729asumo0729
提出日時 2022-08-21 13:37:12
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 837 ms / 2,000 ms
コード長 579 bytes
コンパイル時間 318 ms
コンパイル使用メモリ 82,176 KB
実行使用メモリ 80,212 KB
最終ジャッジ日時 2024-04-18 12:53:58
合計ジャッジ時間 10,481 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 40 ms
51,968 KB
testcase_01 AC 36 ms
51,968 KB
testcase_02 AC 497 ms
78,720 KB
testcase_03 AC 488 ms
78,336 KB
testcase_04 AC 719 ms
79,872 KB
testcase_05 AC 512 ms
78,596 KB
testcase_06 AC 138 ms
76,784 KB
testcase_07 AC 780 ms
79,872 KB
testcase_08 AC 187 ms
76,388 KB
testcase_09 AC 530 ms
78,720 KB
testcase_10 AC 703 ms
79,332 KB
testcase_11 AC 515 ms
78,336 KB
testcase_12 AC 35 ms
52,144 KB
testcase_13 AC 809 ms
79,744 KB
testcase_14 AC 36 ms
51,968 KB
testcase_15 AC 36 ms
51,840 KB
testcase_16 AC 35 ms
51,812 KB
testcase_17 AC 812 ms
79,744 KB
testcase_18 AC 837 ms
79,872 KB
testcase_19 AC 816 ms
80,212 KB
testcase_20 AC 796 ms
79,668 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

A, B, S = map(int, input().split())
spf = [-1 for _ in range(S + 5)]
spf[0] = 0; spf[1] = 1
for i in range(2, S + 1):
    if spf[i] == -1:
        for j in range(i, S + 1, i):
            if spf[j] == -1:
                spf[j] = i
ans = 0
for s in range(1, S + 1):
    r = s
    div = set()
    div.add(1)
    while s != 1:
        p = spf[s]
        t = set()
        for px in div:
            t.add(px * p)
        div = div | t
        s //= p
    for x in div:
        a, b = r // x, x
        if a <= A and b <= B:
            ans += (A - a + 1) * (B - b + 1)

print(ans)
0