結果

問題 No.2207 pCr検査
ユーザー tatyamtatyam
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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)
0