結果

問題 No.628 Tagの勢い
ユーザー gemmarogemmaro
提出日時 2020-03-06 15:48:20
言語 Ruby
(3.3.0)
結果
AC  
実行時間 100 ms / 2,000 ms
コード長 563 bytes
コンパイル時間 38 ms
コンパイル使用メモリ 7,296 KB
実行使用メモリ 12,544 KB
最終ジャッジ日時 2024-04-22 03:57:53
合計ジャッジ時間 2,705 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 89 ms
12,160 KB
testcase_01 AC 89 ms
12,160 KB
testcase_02 AC 87 ms
12,288 KB
testcase_03 AC 92 ms
12,032 KB
testcase_04 AC 90 ms
12,032 KB
testcase_05 AC 90 ms
12,288 KB
testcase_06 AC 91 ms
12,032 KB
testcase_07 AC 90 ms
12,160 KB
testcase_08 AC 90 ms
12,288 KB
testcase_09 AC 89 ms
12,160 KB
testcase_10 AC 89 ms
12,288 KB
testcase_11 AC 90 ms
12,288 KB
testcase_12 AC 99 ms
12,416 KB
testcase_13 AC 100 ms
12,416 KB
testcase_14 AC 100 ms
12,416 KB
testcase_15 AC 100 ms
12,544 KB
testcase_16 AC 98 ms
12,416 KB
testcase_17 AC 90 ms
12,032 KB
testcase_18 AC 89 ms
12,288 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

# frozen_string_literal: true

Image = Struct.new(:num, :score, :tags)

N = gets.to_i
IMAGES = N.times.map do
  n = gets.to_i
  _m, s = gets.chomp.split.map(&:to_i)
  tags = gets.chomp.split
  Image.new(n, s, tags)
end

tags = {}
IMAGES.each do |image|
  image.tags.each do |tag|
    tags[tag] ||= 0
    tags[tag] += image.score
  end
end
tags = tags.to_a

ORDERED = tags.sort { |a, b| a[1] == b[1] ? a[0] <=> b[0] : b[1] <=> a[1] }
              .compact.map { |tag, score| "#{tag} #{score}" }

RESULT = ORDERED[0, [10, ORDERED.size].min].join("\n")

puts RESULT
0