結果

問題 No.246 質問と回答
ユーザー kichirb3
提出日時 2018-03-26 19:22:05
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 84 ms / 2,000 ms
コード長 639 bytes
コンパイル時間 225 ms
コンパイル使用メモリ 12,800 KB
実行使用メモリ 27,608 KB
平均クエリ数 32.90
最終ジャッジ日時 2024-07-16 20:15:38
合計ジャッジ時間 4,156 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

# -*- coding: utf-8 -*-
"""
No.246 質問と回答
https://yukicoder.me/problems/no/246

"""
import sys
from sys import stdin
input = stdin.readline


def main(args):
    ub = 10**9
    lb = 1

    while ub > lb + 4:
        mid = (ub + lb) // 2
        print('? {}'.format(mid), flush=True)
        res = int(input())
        if res == 0:
            ub = mid
        else:
            lb = mid

    for i in range(lb, ub+2):
        print('? {}'.format(i), flush=True)
        res = int(input())
        if res == 0:
            print('! {}'.format(i-1), flush=True)
            break


if __name__ == '__main__':
    main(sys.argv[1:])
0