题解 CF2A 【Winner】
我看题解只有一份所以,本蒟蒻来发一份stl的代码,还请大佬们斧正QwQ
#include<cstdio>
#include<iostream>
#include<map>
#include<string>
using namespace std;
int n,maxn,p;
struct node
{
string name;
int grade;
}q[1005];
map <string,int> m,t;//映射qwq
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
cin>>q[i].name;
scanf("%d",&q[i].grade);
m[q[i].name]+=q[i].grade;
}
for(int i=1;i<=n;i++)if(m[q[i].name]>maxn)maxn=m[q[i].name];
for(int i=1;i<=n&&!p;i++)
{
t[q[i].name]+=q[i].grade;
if(m[q[i].name]==maxn&&t[q[i].name]>=maxn)p=i;
}
cout<<q[p].name;
return 0;
}