社区讨论
90分求助
P1051[NOIP 2005 提高组] 谁拿了最多奖学金参与者 3已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @lycc50cc
- 此快照首次捕获于
- 2024/07/08 10:00 2 年前
- 此快照最后确认于
- 2024/07/08 11:27 2 年前
using namespace std;
int n,sum;
struct str{
string name;
char a,b;
int sl;
int qm,bj;
int jxj;
};
str a[100+5];
bool cmp(str a,str b){
return a.bj>b.bj;
return a.qm>b.qm;
}
bool cmp1(str a,str b){
if(a.jxj==b.jxj){
return a.name<b.name;
}
else {
return a.jxj>b.jxj;
}
}
int main(){
//freopen(" .in","r",stdin);
//freopen(" .out","w",stdout);
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i].name>>a[i].qm>>a[i].bj>>a[i].a>>a[i].b>>a[i].sl;
}
sort(a,a+n,cmp);
for(int i=0;i<n;i++){
if(a[i].bj>80&&a[i].a=='Y'){
a[i].jxj+=850;
}
if(a[i].qm>85&&a[i].b=='Y'){
a[i].jxj+=1000;
}
if(a[i].qm>90){
a[i].jxj+=2000;
}
if(a[i].qm>85&&a[i].bj>80){
a[i].jxj+=4000;
}
if(a[i].qm>80&&a[i].sl>=1){
a[i].jxj+=8000;
}
sum+=a[i].jxj;
}
sort(a,a+n,cmp1);
cout<<a[0].name<<endl;
cout<<a[0].jxj<<endl;
cout<<sum;
return 0;
}```
回复
共 2 条回复,欢迎继续交流。
正在加载回复...