結果
問題 | No.28 末尾最適化 |
ユーザー | zimpha |
提出日時 | 2017-12-11 23:46:00 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 926 ms / 5,000 ms |
コード長 | 570 bytes |
コンパイル時間 | 282 ms |
コンパイル使用メモリ | 82,536 KB |
実行使用メモリ | 79,740 KB |
最終ジャッジ日時 | 2024-05-08 00:02:32 |
合計ジャッジ時間 | 1,815 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 44 ms
59,648 KB |
testcase_01 | AC | 926 ms
79,740 KB |
ソースコード
def factorize(n): f = [] for i in range(2, n + 1): if n % i: continue cnt = 0 while n % i == 0: n //= i cnt += 1 f.append((i, cnt)) return f for _ in range(int(input())): seed, n, k, b = list(map(int, input().split())) x = [seed] for i in range(n): x.append(1 + (x[-1] ** 2 + x[-1] * 12345) % 100000009) ret = 1e9 for p, c in factorize(b): cnt = [0] * (n + 1) for i, u in enumerate(x): while u % p == 0: cnt[i] += 1; u //= p cnt.sort() ret = min(ret, sum(cnt[:k]) // c) print(ret)