結果
問題 | No.628 Tagの勢い |
ユーザー |
![]() |
提出日時 | 2018-01-06 14:39:02 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 987 bytes |
コンパイル時間 | 1,036 ms |
コンパイル使用メモリ | 82,912 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-10-07 22:19:46 |
合計ジャッジ時間 | 1,882 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
#include<iostream> #include<string> #include<vector> #include<algorithm> #include<functional> #include<fstream> #include<utility> #include<map> #define rep(N) for (int i = 0; i < N; i++) #define For(i, N) for (i = 0; i < N; i++) #define re return 0 using namespace std; using ll = long long int; using vi = vector<int>; using vvi = vector<vector<int>>; using vs = vector<string>; using pii = pair<int, int>; using pis = pair<int, string>; bool comp(pis A, pis B) { if (A.first != B.first)return A.first > B.first; else return A.second < B.second; } int main() { int N, No; vector<pis> G; cin >> N; rep(N) { int M, S; cin >> No >> M >> S; rep(M) { bool flag = true; string s; cin >> s; rep(G.size()) { if (G[i].second == s) { G[i].first += S; flag = false; } } if (flag) G.push_back({ S,s }); } } sort(G.begin(), G.end(), comp); for (int i = 0; i < 10 && i < G.size(); ++i) cout << G[i].second << " " << G[i].first << endl; re; }