题解 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;
}