万花丛中没有绿
#include<bits/stdc++.h>
using namespace std;
const int w = 2e6 + 5;
struct re{
string name; //名字
int aver, cla, pap, id; //期末平均成绩,班级评议成绩,发表论文数
char we, abi; //是否西部省份,是否班干部
int total;
}f[w];
int n, ans, maxans;
string maxname;
int main()
{
cin >> n;
for(int i = 1; i <= n; i ++)
{
cin >> f[i].name >> f[i].aver >> f[i].cla >> f[i].abi >> f[i].we >> f[i].pap;
f[i].id = i;
}
for(int i = 1; i <= n; i ++)
{
if(f[i].aver > 80 && f[i].pap >= 1)
{
f[i].total += 8000;
}
if(f[i].aver > 85 && f[i].cla >= 80)
{
f[i].total += 4000;
}
if(f[i].aver > 90)
{
f[i].total += 2000;
}
if(f[i].aver > 85 && f[i].we == 'Y')
{
f[i].total += 1000;
}
if(f[i].aver > 80 && f[i].abi == 'Y')
{
f[i].total += 850;
}
if(maxans < f[i].total)
{
maxans = f[i].total;
maxname = f[i].name;
}
}
for(int i = 1; i <= n; i ++)
{
ans += f[i].total;
}
cout << maxname << endl << maxans << endl << ans <<endl;
return 0;
}