第二次提交通过
因为忘了不存在的不仅要在差值的地方输出NA,还要输出 Absent
还是简单滴
#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
int n;
struct student{
string name;
char g;
string id;
int grade;
};
student stu[11000];
bool mygrade(student a, student b){
return a.grade < b.grade;
}
int main(){
scanf("%d",&n);
int k=0;
for(int i=0; i<n; i++){
string a,b;
char c;
int d;
cin >> a >> c >> b >> d;
stu[i].name = a;
stu[i].g = c;
stu[i].id = b;
stu[i].grade = d;
k++;
}
sort(stu,stu+k,mygrade);
int ma = -1, mi = -1;
for(int i=k-1; i>=0; i--){
if(stu[i].g=='F'){
cout << stu[i].name << " " << stu[i].id << endl;
ma = stu[i].grade;
break;
}
}
if(ma == -1) printf("Absent\n");
for(int i=0; i<k; i++){
if(stu[i].g=='M'){
cout << stu[i].name << " " << stu[i].id << endl;
mi = stu[i].grade;
break;
}
}
if(mi == -1) printf("Absent\n");
if(ma != -1 && mi != -1) printf("%d",ma - mi);
else printf("NA");
return 0;
}
晚上了,挑个好写的过了