結果

問題 No.628 Tagの勢い
ユーザー DaylightDaylight
提出日時 2018-07-04 19:32:32
言語 C++11
(gcc 11.4.0)
結果
AC  
実行時間 3 ms / 2,000 ms
コード長 1,443 bytes
コンパイル時間 2,084 ms
コンパイル使用メモリ 183,676 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-04-16 20:15:28
合計ジャッジ時間 2,730 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
5,248 KB
testcase_01 AC 1 ms
5,376 KB
testcase_02 AC 2 ms
5,376 KB
testcase_03 AC 2 ms
5,376 KB
testcase_04 AC 2 ms
5,376 KB
testcase_05 AC 2 ms
5,376 KB
testcase_06 AC 1 ms
5,376 KB
testcase_07 AC 2 ms
5,376 KB
testcase_08 AC 2 ms
5,376 KB
testcase_09 AC 1 ms
5,376 KB
testcase_10 AC 2 ms
5,376 KB
testcase_11 AC 2 ms
5,376 KB
testcase_12 AC 3 ms
5,376 KB
testcase_13 AC 3 ms
5,376 KB
testcase_14 AC 3 ms
5,376 KB
testcase_15 AC 3 ms
5,376 KB
testcase_16 AC 2 ms
5,376 KB
testcase_17 AC 2 ms
5,376 KB
testcase_18 AC 2 ms
5,376 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#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;
}
0