要用map做,用普通比较,会超时;
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <set>
#include <map>
#include <algorithm>
using namespace std;
#define ll long long
#define llu unsigned long long
#define mst(a,b) memset(a,b,sizeof(a))
struct node
{
string c;
int d;
}b[10001];
map<string,int>a;
bool cmp(node x,node y)
{
return x.c<y.c;
}
int main()
{
int n,m,sum=0,num=0;
cin>>n;
for(int i=1;i<=n;i++) // 将其关注的加入map中;
{
string name;
cin>>name;
a[name]=num++;
}
cin>>m;
for(int i=0;i<m;i++)
{
cin>>b[i].c>>b[i].d;
sum+=b[i].d;
}
double cnt=sum*1.0/m*1.0;
sort(b,b+m,cmp);
num=0;
for(int i=0;i<m;i++)
{
if(a.find(b[i].c)==a.end()&&b[i].d>cnt)
{
cout<<b[i].c<<endl;num++;
}
}
if(num==0) printf("Bing Mei You\n");
}