結果
問題 | No.2207 pCr検査 |
ユーザー | tatyam |
提出日時 | 2022-07-13 01:24:15 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 508 ms / 3,000 ms |
コード長 | 685 bytes |
コンパイル時間 | 240 ms |
コンパイル使用メモリ | 82,232 KB |
実行使用メモリ | 134,912 KB |
最終ジャッジ日時 | 2024-07-02 18:42:29 |
合計ジャッジ時間 | 11,337 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 30 |
ソースコード
import sys import math input = sys.stdin.readline k = int(input()) N = [tuple(map(int, input().split())) for _ in range(k)] lgN = sum(math.log(p) * e for p, e in N) P = N[-1][0] lg = 0.0 err = math.inf R = -1 for i in range(P // 2): lg += math.log(P - i) - math.log(i + 1) if err > abs(lg - lgN): err = abs(lg - lgN) R = i + 1 def check(R): for p, e in N: def f(x): ans = 0 while True: x //= p if x == 0: return ans ans += x if e != f(P) - f(P - R) - f(R): return exit(print(P, R)) check(R) check(R - 1) check(R + 1) print(-1, -1)