結果

問題 No.2962 Sum Bomb Bomber
ユーザー lif4635lif4635
提出日時 2024-11-16 16:15:58
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 201 ms / 2,000 ms
コード長 1,725 bytes
コンパイル時間 534 ms
コンパイル使用メモリ 82,328 KB
実行使用メモリ 75,428 KB
平均クエリ数 169.66
最終ジャッジ日時 2024-11-16 16:17:03
合計ジャッジ時間 13,702 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 64
権限があれば一括ダウンロードができます

ソースコード

diff #

"""input"""
#int-input
# input = sys.stdin.readline
def II(): return int(input())
def MI(): return map(int, input().split())
def LI(): return list(MI())
#str-input
def SI(): return input()
def MSI(): return input().split()
def SI_L(): return list(SI())
def SI_LI(): return list(map(int, SI()))
#multiple-input
def LLI(n): return [LI() for _ in range(n)]
def LSI(n): return [SI() for _ in range(n)]
#1-indexを0-indexでinput
def MI_1(): return map(lambda x:int(x)-1, input().split())
def TI_1(): return tuple(MI_1())
def LI_1(): return list(MI_1())
from bisect import bisect_left,bisect_right
inf = 1<<60

def tri_float(comparison, l = -10**8, r = 10**8):
    while abs(r - l)/abs(r) > error and abs(r - l) > error:
        l2 = (l*2+r)/3
        r2 = (l+r*2)/3
        if comparison(l2) > comparison(r2):
            l = l2
        else:
            r = r2
    return l2, comparison(l2)

from functools import cache

const = 10**8


n = II()
@cache
def solve(x):
    print(1,x,0)
    return II()

l = -const
r = const
while abs(r - l) > 1:
    l2 = (l*2+r)//3
    r2 = (l+r*2)//3
    resl2 = solve(l2)
    resr2 = solve(r2)
    if resl2 > resr2:
        l = l2 + 1
    elif resl2 < resr2:
        r = r2 - 1
    else:
        l = l2 + 1
resl2 = solve(l)
resr2 = solve(r)
if resl2 < resr2:
    ansx = l
else:
    ansx = r

@cache
def solve2(y):
    print(1,0,y)
    return II()

l = -const
r = const
while abs(r - l) > 1:
    l2 = (l*2+r)//3
    r2 = (l+r*2)//3
    resl2 = solve2(l2)
    resr2 = solve2(r2)
    if resl2 > resr2:
        l = l2 + 1
    elif resl2 < resr2:
        r = r2 - 1
    else:
        l = l2 + 1
resl2 = solve2(l)
resr2 = solve2(r)
if resl2 < resr2:
    ansy = l
else:
    ansy = r
print(2,ansx,ansy)
0