题目链接:https://www.patest.cn/contests/gplt/L2-019
STL搞一搞
#include<bits/stdc++.h>
const int maxn =100100;
using namespace std;
map<string,int>q;
map<string,int>t;
string ans[maxn];
int n,m,temp,flag;
double ave;
int sum;
string s;
int main(){
scanf("%d",&n);
for(int i=0;i<n;i++){cin>>s;q[s]=1;}
cin>>m;
for(int i=0;i<m;i++){
cin>>s>>temp;
t[s]+=temp;
sum+=temp;
}
ave=(double)sum/m;
map<string,int>::iterator it=t.begin();
for(;it!=t.end();it++){
temp=it->second;
s=it->first;
if(temp>ave&&q[s]==0)ans[flag++]=s;
}
if(flag) for(int i=0;i<flag;i++)cout<<ans[i]<<endl;
else cout<<"Bing Mei You"<<endl;
return 0;
}