Source code:
#include<iostream>
#include<algorithm>
using namespace std;
struct stu
{
string name;
long long qimo, class_pingyi, lunwen, money = 0;
char is_ganbu, is_xibu;
} studs[101];
bool cmp(stu a, stu b)
{
return a.money > b.money;
}
int main()
{
int n;
long long sum = 0;
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>studs[i].name>>studs[i].qimo>>studs[i].class_pingyi>>studs[i].is_ganbu>>studs[i].is_xibu>>studs[i].lunwen;
if(studs[i].qimo > 80 && studs[i].lunwen >= 1)
{
studs[i].money += 8000;
}
if(studs[i].qimo > 85 && studs[i].class_pingyi > 80)
{
studs[i].money += 4000;
}
if(studs[i].qimo > 90)
{
studs[i].money += 2000;
}
if(studs[i].qimo > 85 && studs[i].is_xibu == 'Y')
{
studs[i].money += 1000;
}
if(studs[i].class_pingyi > 80 && studs[i].is_ganbu == 'Y')
{
studs[i].money += 850;
}
}
sort(studs+1, studs+n+1, cmp);
for(int i=1;i<=n;i++)
{
sum += studs[i].money;
}
cout<<studs[1].name<<endl<<studs[1].money<<endl<<sum;
return 0;
}