大师 • 5个月前
//Written by Master
//Written by Master using namespace std; struct student{
string name;
int s1;
int s2;
char b1;
char b2;
int num;
int money;
int id;
};
void get_money(student &s){
if(s.s1>80 && s.num>=1){
s.money+=8000;
}
if(s.s1>85 && s.s2>80){
s.money+=4000;
}
if(s.s1>90){
s.money+=2000;
}//Written by Master
if(s.s1>85 && s.b2=='Y'){
s.money+=1000;
}
if(s.s2>80 && s.b1=='Y'){//Written by Master
s.money+=850;
}
}//Written by Master
bool cmp_money(const student &a, const student &b){
return a.money>b.money;
} //Written by Master int main(){
int n;
cin >> n;
vector<student> students(n);//Written by Master
for(int i=0;i<n;i++){//Written by Master
cin >> students[i].name >> students[i].s1 >> students[i].s2 >> students[i].b1 >> students[i].b2 >> students[i].num;
get_money(students[i]);//Written by Master
students[i].id=i;//Written by Master
}
sort(students.begin(),students.end(),cmp_money);
for(int i=1;i<n;i++){//Written by Master
if(students[i].money==students[0].money){
if(students[i].id<students[0].id){
swap(students[i],students[0]);
}//Written by Master
}
}
printf("%s\n",students[0].name.c_str());
printf("%d\n",students[0].money);//Written by Master
int ans_money=0;//Written by Master
for(int i=0;i<n;i++){//Written by Master
ans_money+=students[i].money;
}//Written by Master
printf("%d\n",ans_money);
return 0;
}
评论:
请先登录,才能进行评论