結果
問題 |
No.628 Tagの勢い
|
ユーザー |
|
提出日時 | 2018-07-04 19:32:32 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,443 bytes |
コンパイル時間 | 2,047 ms |
コンパイル使用メモリ | 184,284 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-07 22:50:58 |
合計ジャッジ時間 | 2,845 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
#include <bits/stdc++.h> #include <typeinfo> #include <cxxabi.h> #ifdef LOCAL #include "dbgtoki.hpp" #define DUMP(i) dump((string)TOSTRING(i), demangle(typeid(i).name()), __LINE__ , i) #else #define DUMP(i) #endif using namespace std; #define TOSTRING(x) #x #define SZ(x) (int)(x).size() #define REP(i,n) for(int i=0;i<(n);i++) #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define ALL(s) (s).begin(), (s).end() #define UNIQUE(v) v.erase( unique(v.begin(), v.end()) , v.end()); #define dis distance #define so sort #define rev reverse #define pub push_back #define sec second #define fir first typedef long long unsigned int llu; typedef long long ll; typedef vector<int> vi; typedef vector<ll> vll; typedef vector<vector <int> > vvi; const int EPS = 1e-9; const int MOD = 1e9+7; const int INF = (1 << 30); struct Tags{ public: int point; string name; Tags(){} Tags(string _name,int _point){ point = _point; name = _name; } bool operator<( const Tags& t ) const { return point > t.point; } }; int main(){ cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; map<string,int> M; REP(i,n){ int a; cin >> a; int m,s; cin >> m >> s; REP(j,m){ string t; cin >> t; M[t]+=s; } } vector<Tags> TT; for(auto im : M){ TT.pub(Tags(im.fir,im.sec)); } stable_sort(ALL(TT)); int cnt = 0; while(cnt < 10 && cnt < SZ(TT)){ cout << TT[cnt].name << " " << TT[cnt].point << endl; cnt++; } return 0; }