結果

問題 No.91 赤、緑、青の石
コンテスト
ユーザー DialBird
提出日時 2017-03-09 14:58:11
言語 Ruby
(3.4.1)
結果
AC  
実行時間 83 ms / 5,000 ms
コード長 504 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 171 ms
コンパイル使用メモリ 8,064 KB
実行使用メモリ 13,056 KB
最終ジャッジ日時 2025-12-07 12:28:29
合計ジャッジ時間 3,681 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 29
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

class Yukicoder
  def initialize
    @stones = gets.chomp.split.map(&:to_i)
  end

  def run
    min = @stones.min
    max = @stones.max
    bs(min, max)
  end

  def bs(min, max)
    mid = (min + max) / 2
    if mid == min
      mid
    else
      check(mid) ? bs(mid, max) : bs(min, mid)
    end
  end

  def check(n)
    lack = @stones.inject(0){ |t, s| t + ((s < n) ? n - s : 0) }
    plus = @stones.inject(0){ |t, s| t + ((n < s) ? (s - n)/2 : 0) }
    lack <= plus
  end
end

puts Yukicoder.new.run
0