80分求助!!!

P1051 [NOIP2005 提高组] 谁拿了最多奖学金

本juruo用的是结构体
by ethan0919 @ 2023-10-11 21:46:31


```cpp #include<bits/stdc++.h> using namespace std; struct stu{ string name,gb,xb; int qm=0,bj=0,lw=0,money=0,id=0; }a[1000010]; bool cmp(stu x,stu y){ if(x.money==y.money){ return x.id>y.id; //唯一改的地方,因为早的就选,选的最后一个,因此id小的在后 } return x.money<y.money; } int main(){ int n=0; long long s=0; cin>>n; for(int i=0;i<n;i++){ cin>>a[i].name>>a[i].qm>>a[i].bj>>a[i].gb>>a[i].xb>>a[i].lw; a[i].id=i; if(a[i].qm>80&&a[i].lw>=1){ a[i].money+=8000; } if(a[i].qm>85&&a[i].bj>80){ a[i].money+=4000; } if(a[i].qm>90){ a[i].money+=2000; } if(a[i].xb=="Y"&&a[i].qm>85){ a[i].money+=1000; } if(a[i].gb=="Y"&&a[i].bj>80){ a[i].money+=850; } s+=a[i].money; } sort(a,a+n,cmp); cout<<a[n-1].name<<endl; cout<<a[n-1].money<<endl; cout<<s; return 0; } ```
by sbno333 @ 2023-10-11 22:07:56


谢谢大佬
by ethan0919 @ 2023-10-12 14:51:38


|