結果
| 問題 | No.1312 Snake Eyes |
| コンテスト | |
| ユーザー |
rlangevin
|
| 提出日時 | 2023-04-17 20:03:06 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 1,840 ms / 2,000 ms |
| コード長 | 705 bytes |
| 記録 | |
| コンパイル時間 | 214 ms |
| コンパイル使用メモリ | 85,248 KB |
| 実行使用メモリ | 81,536 KB |
| 最終ジャッジ日時 | 2026-04-30 00:49:10 |
| 合計ジャッジ時間 | 47,451 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 85 |
ソースコード
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)
rlangevin