样例能过,为啥会全WA啊
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int n,sum;
struct student{//结构体,方便看
string name;
int markFinal,markClassal,lw;//期末分数&班评分数&论文数
char isLeader,isWestern;//是否为干部/西部学生
int jxj = 0;//奖学金数量
int id;//输入次序
void clac(){
//算奖学金的,挨个判断
if(markFinal > 80 && lw >= 1) jxj += 8000;//院士奖学金
if(markFinal > 85 && markClassal > 80) jxj += 4000;//五四奖学金
if(markFinal > 90) jxj += 2000;//成绩优秀奖
if(markFinal > 85 && isWestern == 'Y') jxj += 1000;//西部奖学金
if(markClassal > 50 && isLeader == 'Y')jxj += 850;//班级贡献奖
}
}stu[105];
bool cmp(student a,student b){//比较函数
if(a.jxj != b.jxj){
return a.jxj > b.jxj;//第一排序依据:奖学金
}else{
return a.id < b.id;//第二排序依据:输入顺序
}
}
int main(){
cin>>n;
for(int i = 0;i < n;i ++){
//输入
cin>>stu[i].name>>stu[i].markFinal>>stu[i].markClassal>>stu[i].isLeader>>stu[i].isWestern>>stu[i].lw;
stu[i].id = i;
//计算
stu[i].clac();//计算奖学金
sum += stu[i].jxj;//记录总和
}
sort(stu,stu + n,cmp);//排序
cout<<stu[0].name<<endl<<stu[0].jxj<<endl<<sum;//输出
return 0;
}