結果
| 問題 | No.628 Tagの勢い | 
| コンテスト | |
| ユーザー |  cider | 
| 提出日時 | 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;
}
            
            
            
        