結果

問題 No.91 赤、緑、青の石
ユーザー mai
提出日時 2016-10-13 19:40:56
言語 Ruby
(3.4.1)
結果
AC  
実行時間 96 ms / 5,000 ms
コード長 548 bytes
コンパイル時間 51 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-06-24 07:00:25
合計ジャッジ時間 4,051 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 28
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

def calc(stone)
    
    return stone[0] + calc(stone.map{|e| e-stone[0]}) if (stone[0]!=0)
    
    k = [(stone[2]-stone[1])/2,stone[1]].min
    return k + calc([0,stone[1]-k,stone[2]-k*3].sort!) if 0<k
    
    k = [stone[1]/4,stone[2]/4].min * 2
    return k + calc([0,stone[1]-k*2,stone[2]-k*2].sort!) if 0<k
    
    k = stone[2]/5
    return k + calc([0,stone[1],stone[2]%5].sort!) if 0<k
    
    return k + calc([1,stone[1],stone[2]-2].sort!) if 3<=stone[2]
    
    return 0
    
end

r,g,b = gets.split.map(&:to_i)

p calc([r,g,b].sort)
0