link do tópico
https://pintia.cn/problem-sets/994805046380707840/problems/994805059731177472
Ideias
Para o nome da lista de observação, usamos um map<string,bool>
para marcar se ela aparece e, em seguida, os seguintes usuários e informações semelhantes podem pair<string,name>
ser armazenados e, finalmente, percorremos os usuários curtidos para descobrir os usuários que não estão seguindo o usuário e o número de likes é maior que a média, Finalmente, classifique a saída, se não, saídaBing Mei You
código
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define mod 1000000007
#define endl "\n"
#define PII pair<int,int>
#define INF 0x3f3f3f3f
int n,m;
map<string,bool> vis;
int main()
{
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>n;
string name;
for(int i = 1;i <= n; ++i) {
cin>>name;
vis[name] = true;
}
cin>>n;
int star,sum = 0;
vector<pair<string,int>> Vec;
for(int i = 1;i <= n; ++i) {
cin>>name>>star;
Vec.push_back({
name,star});
sum += star;
}
vector<string> ans;
for(int i = 0;i < n; ++i) {
if(Vec[i].second * n > sum && vis[Vec[i].first] == false)
ans.push_back(Vec[i].first);
}
if(ans.size() == 0) cout<<"Bing Mei You"<<endl;
else {
sort(ans.begin(),ans.end());
for(auto it: ans)
cout<<it<<endl;
}
return 0;
}