不知道什么原因REl
求大佬看看我丑陋的代码
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
struct node{
string name,ganbu,is_xiprin;
int average,statues,out_write;
int position;
int achieve = 0;
}a[100];
bool cmp(node &a,node &b) {
if (a.achieve != b.achieve) return a.achieve > b.achieve;
else return a.position < b.position;
}
int main()
{
int n; cin>>n;
int sum = 0;
for(int i = 1;i<=n;i++)
{
cin>>a[i].name>>a[i].average>>a[i].statues>>a[i].ganbu>>a[i].is_xiprin>>a[i].out_write;
a[i].position = i;
if(a[i].average>80 && a[i].out_write>=1) a[i].achieve += 8000;
if(a[i].average>85 && a[i].statues>80) a[i].achieve += 4000;
if(a[i].average>90) a[i].achieve += 2000;
if(a[i].is_xiprin=="Y"&&a[i].average>85) a[i].achieve += 1000;
if(a[i].statues>80&& a[i].ganbu=="Y") a[i].achieve += 850;
sum += a[i].achieve;
}
sort(a+1,a+n+1,cmp);
cout<<a[1].name<<endl<<a[1].achieve<<endl<<sum<<endl;
return 0;
}