結果

問題 No.571 3人兄弟(その2)
コンテスト
ユーザー muu16
提出日時 2018-11-25 22:57:34
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 55 ms / 2,000 ms
コード長 913 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 149 ms
コンパイル使用メモリ 8,832 KB
実行使用メモリ 14,848 KB
最終ジャッジ日時 2026-05-31 15:02:48
合計ジャッジ時間 2,020 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 12
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

a = gets.chomp.split(" ")
 b = gets.chomp.split(" ")
 c = gets.chomp.split(" ")
 
 aa = a.map(&:to_i)
 bb = b.map(&:to_i)
 cc = c.map(&:to_i)
 
 h = { "A" => aa[0], "B" => bb[0], "C" => cc[0]}
 w = { "A" => aa[1], "B" => bb[1], "C" => cc[1]}
 
 hh = h.sort { |(key1, val1),(key2, val2)| val2 <=> val1 }
 ww = w.sort { |(key1, val1),(key2, val2)| val1 <=> val2 }
 
 lank = 30
 
 previous = 0
 score = {"A" => 0, "B" => 0, "C" => 0}
 hh.each { |key, val|
   if previous > val then
   lank -= 10
   end
   previous = val
   score[key] = lank
 }

lank2 = 4

previous2 = 0
score2 = {"A" => 0, "B" => 0, "C" => 0}
ww.each { |key, val|
  if previous2 < val then
  lank2 -= 1
  end
  previous2 = val
  score2[key] = lank2
}
score3 = score.merge(score2){|key, v0, v1|
            v0 + v1
          }
score4 = score3.sort { |(key1, val1),(key2, val2)| val2 <=> val1 }

puts score4[0][0]
puts score4[1][0]
puts score4[2][0]
0