POJ - 2153 Rank List(map)
此题要求10秒AC,提前用一个变量找到"Li Ming"的成绩,可以节约大量时间。
#include<iostream>
#include<cstdio>
#include<map>
using namespace std;
int main()
{
string LM="Li Ming";
string s[10010];
map<string,int> cnt;
int n;cin>>n;getchar();
for(int i=0;i<n;i++)
{
getline(cin,s[i]);
cnt[s[i]]=0;
}
int m;cin>>m;
while(m--)
{
int c=1,f;
for(int i=0;i<n;i++)
{
int x;cin>>x;getchar();
getline(cin,s[i]);
cnt[s[i]]+=x;
if(s[i]==LM) f=cnt[s[i]];
}
for(int i=0;i<n;i++)
if(cnt[s[i]]>f)
c++;
cout<<c<<endl;
}
return 0;
}