結果
問題 | No.297 カードの数式 |
ユーザー |
|
提出日時 | 2015-11-06 23:47:54 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 97 ms / 1,000 ms |
コード長 | 1,475 bytes |
コンパイル時間 | 720 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 12,288 KB |
最終ジャッジ日時 | 2024-12-26 02:22:16 |
合計ジャッジ時間 | 3,172 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
コンパイルメッセージ
Syntax OK
ソースコード
@nums=[]@plus=0@minus=0getsgets.split.each{|i|if i=='+'@plus += 1elsif i=='-'@minus +=1else@nums.push(i.to_i)end}@nums.sortdef get_max(nums,plus,minus)ops=@plus+@minusnums = nums.sort.reversebig = nums[0,nums.size-ops].join('').to_inums = [big] + nums[nums.size-ops,nums.size]#puts "nums=#{nums}"nums = nums.sort.reverseval = nums.shiftnums.each{|n|if(plus>0)plus -=1val += nelseminus -=1val -= nend}return valenddef get_min1(nums,plus,minus)ops=@plus+@minusnums = nums.sort.reversebig = nums[0,nums.size-ops].join('').to_inums = [big] + nums[nums.size-ops,nums.size]#puts "nums=#{nums}"nums = nums.sort.reverseval = -nums.shiftminus -=1nums.each{|n|if(minus>0)minus-=1val -= nelseminus -=1val += nend}return valenddef get_min2(nums,plus,minus)ops=@plus+@minusnums = nums.sortparts = Array.new(ops+1,0)i=0nums.each{|n|parts[i] *= 10parts[i] += ni+=1i%=(ops+1)}total = parts.inject(&:+)return totalendma = get_max(@nums.clone,@plus,@minus)mi=999if @minus>0mi = get_min1(@nums.clone,@plus,@minus)elsemi = get_min2(@nums.clone,@plus,@minus)endputs "#{ma} #{mi}"