結果

問題 No.2962 Sum Bomb Bomber
ユーザー Mao-beta
提出日時 2025-02-06 18:58:43
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 307 ms / 2,000 ms
コード長 1,309 bytes
コンパイル時間 541 ms
コンパイル使用メモリ 82,304 KB
実行使用メモリ 73,592 KB
平均クエリ数 111.58
最終ジャッジ日時 2025-02-06 18:59:07
合計ジャッジ時間 20,240 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 64
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
import math
import bisect
from heapq import heapify, heappop, heappush
from collections import deque, defaultdict, Counter
from functools import lru_cache
from itertools import accumulate, combinations, permutations, product

sys.set_int_max_str_digits(10 ** 6)
sys.setrecursionlimit(1000000)
MOD = 10 ** 9 + 7
MOD99 = 998244353

input = lambda: sys.stdin.readline().strip()
NI = lambda: int(input())
NMI = lambda: map(int, input().split())
NLI = lambda: list(NMI())
SI = lambda: input()
SMI = lambda: input().split()
SLI = lambda: list(SMI())
EI = lambda m: [NLI() for _ in range(m)]


def main():
    N = NI()

    def query(x, y):
        print(f"1 {x} {y}", flush=True)
        return NI()

    def judge(X):
        d1 = query(X, 0)
        d2 = query(X+1, 0)
        return d1 <= d2

    ng = -10**8-1
    ok = 10**8+1
    while abs(ok - ng) > 1:
        X = (ok + ng) // 2
        if judge(X):
            ok = X
        else:
            ng = X

    def judge2(Y):
        d1 = query(0, Y)
        d2 = query(0, Y+1)
        return d1 <= d2

    ng2 = -10 ** 8 - 1
    ok2 = 10 ** 8 + 1
    while abs(ok2 - ng2) > 1:
        X = (ok2 + ng2) // 2
        if judge2(X):
            ok2 = X
        else:
            ng2 = X

    print(f"2 {ok} {ok2}")


if __name__ == "__main__":
    main()
0