結果
| 問題 | 
                            No.1187 皇帝ペンギン
                             | 
                    
| コンテスト | |
| ユーザー | 
                            👑  | 
                    
| 提出日時 | 2020-11-16 22:22:08 | 
| 言語 | Lua  (LuaJit 2.1.1734355927)  | 
                    
| 結果 | 
                             
                                AC
                                 
                             
                            
                         | 
                    
| 実行時間 | 26 ms / 1,000 ms | 
| コード長 | 537 bytes | 
| コンパイル時間 | 251 ms | 
| コンパイル使用メモリ | 6,812 KB | 
| 実行使用メモリ | 25,476 KB | 
| 平均クエリ数 | 17.15 | 
| 最終ジャッジ日時 | 2024-07-17 07:24:25 | 
| 合計ジャッジ時間 | 5,147 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge1 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 54 | 
ソースコード
local function ask(num)
  io.write("? " .. num .. "\n")
  io.flush()
  local ret = io.read("*l")
  return ret == "safe"
end
local function ans(num)
  io.write("! " .. num .. "\n")
  io.flush()
  os.exit()
end
if not ask(1) then
  ans(0)
end
local left = 0
local right = 1000
local bls, brs = bit.lshift, bit.rshift
while 1 < right - left do
  local mid = brs(left + right, 1)
  local mid2 = mid + 1
  if ask(mid) then
    left = mid
  else
    if ask(mid2) then
      left = mid2
    else
      right = mid
    end
  end
end
ans(left)