結果

問題 No.1383 Numbers of Product
ユーザー H3PO4
提出日時 2021-02-07 21:26:08
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 851 bytes
コンパイル時間 287 ms
コンパイル使用メモリ 81,988 KB
実行使用メモリ 324,188 KB
最終ジャッジ日時 2024-07-04 14:43:37
合計ジャッジ時間 79,802 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 5 WA * 34 TLE * 12
権限があれば一括ダウンロードができます

ソースコード

diff #

from collections import defaultdict

N, K, M = map(int, input().split())

# b >= 2の場合
d = defaultdict(int)
for a in range(1, 10 ** 6):
    tmp = a * (a + K)
    d[tmp] += 1
    for b in range(2, 50):
        tmp *= a + b * K
        if tmp > N:
            break
        d[tmp] += 1

d = dict(d)
twos = 0
for x in d:
    l, r = 0, 10 ** 9
    while r - l > 1:
        m = (r + l) // 2
        if m * (m + K) > x:
            r = m
        else:
            l = m
    if l * (l + K) == x:
        d[x] += 1
        if x <= N:
            twos += 1
if M == 1:
    l, r = 0, 10 ** 9
    while r - l > 1:
        m = (r + l) // 2
        if m * (m + K) > N:
            r = m
        else:
            l = m
    ans = l - twos + 1
else:
    # すでにdictにないやつは考えなくてよい
    ans = sum(v == M for v in d.values())
print(ans)
0