社区讨论

求助大佬

P1051[NOIP 2005 提高组] 谁拿了最多奖学金参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@mi6utmol
此快照首次捕获于
2025/11/20 11:11
4 个月前
此快照最后确认于
2025/11/20 11:11
4 个月前
查看原帖
#include<bits/stdc++.h> using namespace std; struct student{ char name[21],gb,xb; int num,qm,py,lw,sch; }s[305]; int cmp(student a,student b) { if(a.sch!=b.sch)return a.sch>b.sch; else return a.num<b.num; } int n,sum=0; int main() { scanf("%d",&n); for(int i=0;i<n;i++) { cin>>s[i].name>>s[i].qm>>s[i].py>>s[i].gb>>s[i].xb>>s[i].lw; s[i].num=i; if(s[i].qm>80&&s[i].lw>=1)s[i].sch+=8000; if(s[i].qm>85&&s[i].py>80)s[i].sch+=4000; if(s[i].qm>90)s[i].sch+=2000; if(s[i].qm>80&&s[i].xb=='Y')s[i].sch+=1000; if(s[i].py>80&&s[i].gb=='Y')s[i].sch+=850; sum+=s[i].sch; } sort(s,s+n,cmp); cout<<s[0].name<<endl<<s[0].sch<<endl<<sum; return 0; }

回复

3 条回复,欢迎继续交流。

正在加载回复...