結果
問題 | No.2962 Sum Bomb Bomber |
ユーザー |
|
提出日時 | 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 |
ソースコード
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()