結果
| 問題 |
No.513 宝探し2
|
| コンテスト | |
| ユーザー |
norioc
|
| 提出日時 | 2025-04-12 14:26:37 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 74 ms / 2,000 ms |
| コード長 | 760 bytes |
| コンパイル時間 | 415 ms |
| コンパイル使用メモリ | 82,348 KB |
| 実行使用メモリ | 71,448 KB |
| 平均クエリ数 | 59.00 |
| 最終ジャッジ日時 | 2025-04-12 14:26:40 |
| 合計ジャッジ時間 | 2,700 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 12 |
ソースコード
def int_ternary_search(f, lo: int, hi: int) -> int:
"""区間 [lo, hi] で f(x) が最小となる整数 x を返す"""
l = lo
r = hi
while r - l > 3:
m1 = l + (r - l) // 3
m2 = r - (r - l) // 3
if f(m1) > f(m2):
l = m1
else:
r = m2
ind = l
best = f(l)
for i in range(l, r+1):
v = f(i)
if v < best:
best = v
ind = i
return ind
def query(x, y):
print(f'{x} {y}')
res = int(input())
if res == 0:
exit()
return res
def f(p):
def func(v):
a = [0, 0]
a[p] = v
return query(*a)
return func
MA = 100_000
x = int_ternary_search(f(0), 0, MA)
y = query(x, 0)
print(f'{x} {y}')
norioc