http://codeforces.com/contest/2/problem/A
题意:给你一些人的成绩
求最终成绩最大的人的名字
如过有多个 输出最先达到的 即 now>=ret && end >=ret
ACcode:
#include<bits/stdc++.h>
using namespace std;
string name[1000100];
int score[1000100];
int main()
{
int n;
scanf("%d", &n);
map<string, int>m;
m.clear();
int ret = -1e9;
for(int i = 1; i <= n; i++)
{
cin >> name[i] >> score[i];
m[name[i]] += score[i];
}
for(int i = 1; i <= n; i++)
ret = max(ret, m[name[i]]);
map<string, int>c;
c.clear();
for(int i = 1; i <= n; i++)
{
c[name[i]] += score[i];
if(m[name[i]] >= ret && c[name[i]] >= ret)
{
cout << name[i] << endl;
break;
}
}
return 0;
}