CF2A Winner

考的是map的应用,与求首个最大值结合在一起

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int, int> PII;
const int N = 1e3 + 10;
map<string, int>x, y;
int b[N];
int main()
{
	int t;
	cin >>t;
	int mx = 0;
	string s[N];
	int num = 0;
	string ss;
	for(int i = 0; i < t; i ++)
	{
		cin >> s[i] >> b[i];
		x[s[i]] += b[i]; 
	}
	for(int i = 0; i < t; i ++)
	{
		mx = max(mx, x[s[i]]);
	}
	for(int i = 0; i < t; i ++)
	{
		y[s[i]] += b[i];
		if(y[s[i]] >= mx && x[s[i]] == mx)//考虑到有得分为负,所以是大于等于
		{
			cout << s[i]<<endl;
			return 0;
		}
	}
}
全部评论

相关推荐

喜欢走神的孤勇者练习时长两年半:爱华,信华,等华,黑华
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务