結果

問題 No.598 オーバーフローファンタジー
ユーザー simansiman
提出日時 2022-10-26 13:23:42
言語 Ruby
(3.4.1)
結果
AC  
実行時間 84 ms / 2,000 ms
コード長 409 bytes
コンパイル時間 55 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,416 KB
最終ジャッジ日時 2024-07-04 03:37:24
合計ジャッジ時間 3,525 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 28
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

N = gets.to_i
X = gets.to_i
A = gets.to_i
B = gets.to_i

def f
  ng = 0
  ok = X

  while (ok - ng).abs >= 2
    v = (ok + ng) / 2

    if v * A >= X
      ok = v
    else
      ng = v
    end
  end

  ok
end

def g
  ng = 0
  ok = X
  lim = 2.pow(N - 1) - 1

  while (ok - ng).abs >= 2
    v = (ok + ng) / 2

    if X + v * B > lim
      ok = v
    else
      ng = v
    end
  end

  ok
end

puts [f, g].min
0