#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
struct Student
{
string name;
string id;
int grade;
};
bool Desc(Student a, Student b)
{
return a.grade>b.grade;
}
bool Asc(Student a, Student b)
{
return a.grade<b.grade;
}
int main()
{
vector<Student> Mstu;
vector<Student> Fstu;
int count;
cin>>count;
int m=0,f=0;
string name, gender, id;
int grade;
for(int i=0; i<count; i++)
{
cin>>name>>gender>>id>>grade;
Student stu;
stu.name = name;
stu.id = id;
stu.grade = grade;
if(gender[0] == 'M')
Mstu.push_back(stu);
else
Fstu.push_back(stu);
}
sort(Fstu.begin(), Fstu.end(), Desc);
sort(Mstu.begin(), Mstu.end(), Asc);
if(Fstu.size()!=0)
cout<<Fstu[0].name<<" "<<Fstu[0].id<<endl;
else
cout<<"Absent"<<endl;
if(Mstu.size()!=0)
cout<<Mstu[0].name<<" "<<Mstu[0].id<<endl;
else
cout<<"Absent"<<endl;
if(Fstu.size()==0 || Mstu.size()==0)
cout<<"NA"<<endl;
else
cout<<Fstu[0].grade-Mstu[0].grade<<endl;
return 0;
}
-----------------------------------------------------------------------------------
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
struct Student
{
string name;
string id;
int grade;
};
Student Mstu[101];
Student Fstu[101];
bool Desc(Student a, Student b)
{
return a.grade>b.grade;
}
bool Asc(Student a, Student b)
{
return a.grade<b.grade;
}
int main()
{
int count;
cin>>count;
int m=0,f=0;
string name, gender, id;
for(int i=0; i<count; i++)
{
cin>>name>>gender;
if(gender[0] == 'M')
{
Mstu[m].name = name;
cin>>Mstu[m].id>>Mstu[m].grade;
m++;
}
else
{
Fstu[f].name = name;
cin>>Fstu[f].id>>Fstu[f].grade;
f++;
}
}
sort(Fstu, Fstu+f, Desc);
sort(Mstu, Mstu+m, Asc);
if(f!=0)
cout<<Fstu[0].name<<" "<<Fstu[0].id<<endl;
else
cout<<"Absent"<<endl;
if(m!=0)
cout<<Mstu[0].name<<" "<<Mstu[0].id<<endl;
else
cout<<"Absent"<<endl;
if(f==0 || m==0)
cout<<"NA"<<endl;
else
cout<<Fstu[0].grade-Mstu[0].grade<<endl;
return 0;
}