我的代码:
#include <bits/stdc++.h>
using namespace std;
int n,m,h_sum=1,s_sum=1,cnt=0,sum=0;
struct node{
string name;
char letter;
int shou;
}a[1000001];
node s[1000001],h[1000001];
bool cmp(node x,node y){
return x.shou>y.shou;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n+m;i++) cin>>a[i].name>>a[i].letter>>a[i].shou;
sort(a+1,a+n+m+1,cmp);
for(int i=1;i<=n+m;i++){
if(a[i].letter=='H'){
cnt++;
h[h_sum].name=a[i].name;
h[h_sum].letter=a[i].letter;
h[h_sum].shou=a[i].shou;
}else{
sum++;
s[s_sum].name=a[i].name;
s[s_sum].letter=a[i].letter;
s[s_sum].shou=a[i].shou;
}
}
sort(s+1,s+s_sum,cmp);
sort(h+1,h+h_sum,cmp);
for(int i=s_sum-3;i>=1;i--) cout<<s[i].name<<endl;
for(int i=h_sum-6;i>=1;i--) cout<<h[i].name<<endl;
return 0;
}