咋回事?输出第三项不对
#include<bits/stdc++.h>
using namespace std;
int max_student=0,all_reward;
struct stu{
string name;
int grede_final;
int grade_classmate;
char cadre,western;
int dissertation;
}a[105];
int n;
int reward(int id){
int ans=0;
if(a[id].grede_final>80&&a[id].dissertation>=1){
ans+=8000;
}
if(a[id].grede_final>85&&a[id].grade_classmate>80){
ans+=5000;
}
if(a[id].grede_final>90){
ans+=2000;
}
if(a[id].grede_final>85&&a[id].western=='Y'){
ans+=1000;
}
if(a[id].grade_classmate>80&&a[id].cadre=='Y'){
ans+=850;
}
return ans;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].name>>a[i].grede_final>>a[i].grade_classmate>>a[i].cadre>>a[i].western>>a[i].dissertation;
max_student=(reward(max_student)<reward(i)?i:max_student);
all_reward+=reward(i);
}
cout<<a[max_student].name<<"\n"<<reward(max_student)<<"\n"<<all_reward;
return 0;
}