結果
問題 | No.628 Tagの勢い |
ユーザー |
![]() |
提出日時 | 2018-01-05 22:17:55 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 909 bytes |
コンパイル時間 | 2,208 ms |
コンパイル使用メモリ | 187,860 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-07 22:11:45 |
合計ジャッジ時間 | 3,305 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { cin.tie(0); ios::sync_with_stdio(false); int N; cin >> N; unordered_map<string, int> d; for (int i = 0; i < N; ++i) { int No; int M, S; cin >> No; cin >> M >> S; for (int j = 0; j < M; ++j) { string tag; cin >> tag; if (d.find(tag) != d.end()) { d[tag] += S; } else { d[tag] = S; } } } vector< pair<string, int> > vp; for (auto &i : d) { vp.emplace_back(i.first, i.second); } sort(vp.begin(), vp.end(), [](const auto& x, const auto& y) { return (x.second != y.second ? x.second > y.second : x.first < y.first); }); for (int i = 0; i < vp.size() && i < 10; ++i) { cout << vp[i].first << " "<< vp[i].second << endl; } return 0; }