結果
問題 | No.628 Tagの勢い |
ユーザー |
|
提出日時 | 2018-03-06 20:25:52 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 271 ms / 2,000 ms |
コード長 | 1,074 bytes |
コンパイル時間 | 3,436 ms |
コンパイル使用メモリ | 82,248 KB |
実行使用メモリ | 48,632 KB |
最終ジャッジ日時 | 2024-10-07 22:36:55 |
合計ジャッジ時間 | 7,915 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
package m.shin; import java.util.Map.Entry; import java.util.Scanner; import java.util.TreeMap; public class Con628 { public static void main(String[] args) { Scanner s = new Scanner(System.in); int N = s.nextInt(); TreeMap<String , Integer> tag = new TreeMap<>(); for(int i = 0;i < N;i++){ s.nextInt(); int M = s.nextInt() , point = s.nextInt(); for(int j = 0;j < M;j++){ String str = s.next(); if(tag.get(str) == null){ tag.put(str, point); }else{ tag.put(str, tag.get(str)+point); } //System.out.println(str + " " + tag.get(str)); } } s.close(); int size = tag.size(); TreeMap<Integer , String> ans = new TreeMap<>(); for(int i = 0;i < size;i++){ Entry<String , Integer> ent = tag.pollFirstEntry(); int j = 9; while(ans.get(ent.getValue()*10 + j) != null){ j--; } ans.put(ent.getValue()*10 + j, ent.getKey()); } for(int i = 0;i < Math.min(size, 10);i++){ Entry<Integer , String> ent = ans.pollLastEntry(); System.out.println(ent.getValue() + " " + ent.getKey()/10); } } }