結果
問題 |
No.513 宝探し2
|
ユーザー |
![]() |
提出日時 | 2025-04-12 12:51:51 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 754 bytes |
コンパイル時間 | 349 ms |
コンパイル使用メモリ | 82,844 KB |
実行使用メモリ | 85,068 KB |
平均クエリ数 | 88.25 |
最終ジャッジ日時 | 2025-04-12 12:51:56 |
合計ジャッジ時間 | 4,063 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 3 RE * 9 |
ソースコード
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 int_ternary_search(f(0), 0, MA) int_ternary_search(f(1), 0, MA)