結果

問題 No.1187 皇帝ペンギン
ユーザー SPD_9X2
提出日時 2020-08-22 13:45:24
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 66 ms / 1,000 ms
コード長 718 bytes
コンパイル時間 195 ms
コンパイル使用メモリ 81,800 KB
実行使用メモリ 70,864 KB
平均クエリ数 20.93
最終ジャッジ日時 2024-07-17 06:12:19
合計ジャッジ時間 6,564 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 54
権限があれば一括ダウンロードができます

ソースコード

diff #

"""

隣り合った数字を聞く
どっちも起こった場合、それ以上はあり得ない
どちらかがokのばあい、まだおkな場合がある

"""

l = 0
r = 500

ans = 0

while r-l != 1:

    m = (l+r)//2

    print ("?",2*m,flush=True)
    ret = input()
    if ret == "safe":
        ans = max(ans,2*m)
    
    print ("?",2*m+1,flush=True)
    ret2 = input()
    if ret2 == "safe":
        ans = max(ans,2*m+1)

    if ret == "out" and ret2 == "out":
        r = m
    else:
        l = m



print ("?",2*l,flush=True)
ret = input()
if ret == "safe":
    ans = max(ans,2*l)
    
print ("?",2*l+1,flush=True)
ret2 = input()
if ret2 == "safe":
    ans = max(ans,2*l+1)

print ("!",ans,flush=True)
0