結果

問題 No.1980 [Cherry 4th Tune D] 停止距離
ユーザー 👑 obakyanobakyan
提出日時 2022-06-23 23:23:49
言語 Lua
(LuaJit 2.1.1734355927)
結果
AC  
実行時間 322 ms / 3,000 ms
コード長 820 bytes
コンパイル時間 147 ms
コンパイル使用メモリ 5,120 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-11-07 17:24:16
合計ジャッジ時間 10,173 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

local mfl, mce = math.floor, math.ceil
local q = io.read("*n", "*l")
for iq = 1, q do
  local t1, t2, mu1, mu2, l1, l2 = io.read():
    match("(%d+)%.(%d%d) (%d+)%.(%d%d) (%d+)%.(%d%d)")
  local t = tonumber(t1) * 100 + t2
  local mu = tonumber(mu1) * 100 + mu2
  local l = tonumber(l1) * 100 + l2
  -- print(t, mu, l)
  local safe = 0
  local out = 510001
  while 1 < out - safe do
    local mid = mfl((safe + out) / 2)
    --[[
      mid/360 * t/100 + mid/360 * mid/360 / 20 / (mu/100) <= l/100
    ]]
    if 18 * mid * t * mu + 25*mid * mid <= mu * 18*360*l then
      safe = mid
    else
      out = mid
    end
  end
  if safe < 10 then
    print("0.0" .. safe)
  elseif safe < 100 then
    print("0." .. safe)
  else
    local b = string.format("%02d", safe % 100)
    print(mfl(safe / 100) .. "." .. b)
  end
end
0