結果

問題 No.1312 Snake Eyes
ユーザー rlangevinrlangevin
提出日時 2023-04-17 20:03:06
言語 PyPy3
(7.3.15)
結果
TLE  
(最新)
AC  
(最初)
実行時間 -
コード長 705 bytes
コンパイル時間 272 ms
コンパイル使用メモリ 82,432 KB
実行使用メモリ 77,056 KB
最終ジャッジ日時 2024-10-12 21:04:03
合計ジャッジ時間 51,164 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 83 TLE * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
if N == 1:
    print(2)
    exit()
if N == 2:
    print(3)
    exit()

inf = 10 ** 12

def f(v, p, d):
    val = 1
    for i in range(d - 1):
        val *= p
        val += 1
        if v * val >= inf:
            return v * val        
    return v * val

ans = N - 1
for d in range(2, 42):
    for v in range(1, 10**18):
        if f(v, v + 1, d) > N:
            break
        yes = v + 1
        no = ans
        if no <= yes:
            break
        while no - yes != 1:
            mid = (yes + no)//2
            if f(v, mid, d) <= N:
                yes = mid
            else:
                no  = mid
        if f(v, yes, d) == N:
            ans = min(ans, yes)

print(ans)
0