题解 P1051 【谁拿了最多奖学金】
// luogu-judger-enable-o2
include<bits/stdc++.h>
using namespace std; int n; struct student { string name; int evr; int talk; char member; char west; int article; int sum; }; int main() { student stu[10000]; cin>>n; for(int i=1;i<=n;i++) { cin>>stu[i].name>>stu[i].evr>>stu[i].talk>>stu[i].member>>stu[i].west>>stu[i].article; if(stu[i].evr>80&&stu[i].article>=1) stu[i].sum+=8000; if(stu[i].evr>85&&stu[i].talk>80) stu[i].sum+=4000; if(stu[i].evr>90) stu[i].sum+=2000; if(stu[i].evr>85&&stu[i].west=='Y') stu[i].sum+=1000; if(stu[i].talk>80&&stu[i].member=='Y') stu[i].sum+=850; } for(int i=1;i<n;i++) { for(int j=1;j<=n-i;j++) { if(stu[j].sum<stu[j+1].sum) { swap(stu[j],stu[j+1]); } } } cout<<stu[1].name<<endl; cout<<stu[1].sum<<endl; int wholesum=0; for(int i=1;i<=n;i++) wholesum+=stu[i].sum; cout<<wholesum; return 0; }