解法一:模拟
#include <bits/stdc++.h>
using namespace std;
class Student {
public:
string name;
char gender;
string id;
int grade;
};
vector<Student> students;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int N;
cin >> N;
int maleIndex = -1;
int femaleIndex = -1;
for (int i = 0; i < N; ++i) {
Student student;
cin >> student.name >> student.gender >> student.id >> student.grade;
students.emplace_back(student);
if (student.gender == 'M' && (maleIndex == -1 || student.grade < students[maleIndex].grade)) {
maleIndex = i;
}
if (student.gender == 'F' && (femaleIndex == -1 || student.grade > students[femaleIndex].grade)) {
femaleIndex = i;
}
}
Student male, female;
if (femaleIndex != -1) {
female = students[femaleIndex];
cout << female.name << " " << female.id << '\n';
} else {
cout << "Absent\n";
}
if (maleIndex != -1) {
male = students[maleIndex];
cout << male.name << " " << male.id << '\n';
} else {
cout << "Absent\n";
}
if (maleIndex != -1 && femaleIndex != -1) {
cout << female.grade - male.grade << '\n';
} else {
cout << "NA\n";
}
}