結果

問題 No.628 Tagの勢い
コンテスト
ユーザー gemmaro
提出日時 2020-03-06 15:48:20
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 60 ms / 2,000 ms
コード長 563 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 128 ms
コンパイル使用メモリ 9,088 KB
実行使用メモリ 15,232 KB
最終ジャッジ日時 2026-05-01 13:16:18
合計ジャッジ時間 2,320 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 19
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

# 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