結果

問題 No.628 Tagの勢い
コンテスト
ユーザー gemmaro
提出日時 2020-03-06 15:48:20
言語 Ruby
(4.0.7 + ACL)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 76 ms / 2,000 ms
+ 263µs
コード長 563 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 10 ms
コンパイル使用メモリ 9,772 KB
実行使用メモリ 17,236 KB
最終ジャッジ日時 2026-10-12 13:40:02
合計ジャッジ時間 3,123 ms
ジャッジサーバーID
(参考情報)
judge2_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 20
権限があれば一括ダウンロードができます
コンパイルメッセージ
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