#include<iostream>
#include<algorithm>
using namespace std;
struct people
{
string name;
long long n;
};
people sur[100002],watch[100002];
bool cmp(people a, people b)
{
return a.n > b.n;
}
int main()
{
int sur_num, watch_num;
cin >> sur_num >> watch_num;
int sur_size = 0;
int watch_size = 0;
for (int i = 0; i < sur_num + watch_num; i++)
{
string ss;
long long n;
char a;
cin >> ss >> a >> n;
if (a == 'H')
{
watch[watch_size].name = ss;
watch[watch_size].n = n;
watch_size++;
}
else
{
sur[sur_size].name = ss;
sur[sur_size].n = n;
sur_size++;
}
}
sort(sur,sur+sur_size, cmp);
sort(watch,watch+watch_size, cmp);
cout << watch[2].name << endl;
for (int i = 5; i < 9; i++)
{
cout << sur[i].name << endl;
}
return 0;
}
一半AC一半TLE。