题目描述
水题,注意如果两个缺席需要输出两个Absent
#include
#include
#include
using namespace std;
struct S{
string name;
string g;
string num;
int grade;
bool operator < (const S s) const{
return grade < s.grade;
}
};
int main(){
int n;
set<S> f,m;
cin>>n;
while(n--){
string name,g,num;
int grade;
cin>>name>>g>>num>>grade;
if(g == "M")
m.insert({name,g,num,grade});
else if(g == "F") f.insert({name,g,num,-grade});
}
if(m.size() != 0 && f.size() != 0){
cout<<(f.begin())->name<<" "<<(f.begin())->num<<endl;
cout<<(m.begin())->name<<" "<<(m.begin())->num<<endl;
cout<<-(f.begin())->grade - (m.begin())->grade;
}else{
if(f.size() != 0) cout<<(f.begin())->name<<" "<<(f.begin())->num<<endl;
else cout<<"Absent"<<endl;
if(m.size() != 0) cout<<(m.begin())->name<<" "<<(m.begin())->num<<endl;
else cout<<"Absent"<<endl;
cout<<"NA"<<endl;
}
return 0;
}