非官方题解 | 谁拿了最多奖学金
2025-09-29 21:28:26
发布于:浙江
6阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
struct node{
long long qm,bj,lw,id,jxj;
string mz;
char gb,xb;
};
bool cmp(node p,node q){
if(p.jxj!=q.jxj)return p.jxj>q.jxj;
else return p.id<q.id;
}
long long n,sum=0;
node a[105];
int main(){
cin>>n;
for(long long i=1;i<=n;i++){
cin>>a[i].mz;//姓名
cin>>a[i].qm;//期末平均成绩
cin>>a[i].bj;//班级评议成绩
cin>>a[i].gb;//是否是学生干部
cin>>a[i].xb;//是否是西部省份学生
cin>>a[i].lw;//发表的论文数
a[i].id=i;
a[i].jxj=0;
if(a[i].qm>80&&a[i].lw>=1)a[i].jxj+=8000;
if(a[i].qm>85&&a[i].bj>80)a[i].jxj+=4000;
if(a[i].qm>90)a[i].jxj+=2000;
if(a[i].qm>85&&a[i].xb=='Y')a[i].jxj+=1000;
if(a[i].bj>80&&a[i].gb=='Y')a[i].jxj+=850;
sum+=a[i].jxj;
}
sort(a+1,a+n+1,cmp);
cout<<a[1].mz<<endl;
cout<<a[1].jxj<<endl;
cout<<sum;
return 0;
}
这里空空如也







有帮助,赞一个