結果

問題 No.2043 Ohuton and Makura
ユーザー asumo0729asumo0729
提出日時 2022-08-21 13:37:12
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 929 ms / 2,000 ms
コード長 579 bytes
コンパイル時間 154 ms
コンパイル使用メモリ 81,972 KB
実行使用メモリ 80,372 KB
最終ジャッジ日時 2024-10-10 06:06:38
合計ジャッジ時間 11,609 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 37 ms
53,004 KB
testcase_01 AC 37 ms
52,452 KB
testcase_02 AC 562 ms
78,824 KB
testcase_03 AC 552 ms
78,404 KB
testcase_04 AC 795 ms
79,752 KB
testcase_05 AC 575 ms
78,928 KB
testcase_06 AC 151 ms
76,692 KB
testcase_07 AC 871 ms
80,192 KB
testcase_08 AC 196 ms
76,772 KB
testcase_09 AC 584 ms
78,804 KB
testcase_10 AC 766 ms
79,424 KB
testcase_11 AC 561 ms
78,852 KB
testcase_12 AC 37 ms
52,520 KB
testcase_13 AC 919 ms
80,256 KB
testcase_14 AC 36 ms
52,664 KB
testcase_15 AC 36 ms
53,108 KB
testcase_16 AC 37 ms
52,392 KB
testcase_17 AC 885 ms
80,192 KB
testcase_18 AC 929 ms
80,248 KB
testcase_19 AC 907 ms
80,324 KB
testcase_20 AC 891 ms
80,372 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