結果
問題 |
No.1383 Numbers of Product
|
ユーザー |
|
提出日時 | 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 |
ソースコード
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)