社区讨论

为啥我本地测试测试点9的没问题

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

讨论操作

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

当前回复
5 条
当前快照
1 份
快照标识符
@mlpzsxdb
此快照首次捕获于
2026/02/17 10:37
前天
此快照最后确认于
2026/02/17 22:16
前天
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int MAXN=105;
int n;
int sum;
struct stu {
    string name;
    int sum,index;
} stus[MAXN];
int main() {
    cin>>n;
    for(int i=1; i<=n; i++) {
        cin>>stus[i].name;
        int a,b,c,d,e;
        char cd,cc;
        cin>>a>>b>>cc>>cd>>e;
        d=(cd=='Y'?1:0);
        c=(cc=='Y'?1:0);
        if(a>80&&e>=1)stus[i].sum+=8000;
        if(a>85&&b>80)stus[i].sum+=4000;
        if(a>90)stus[i].sum+=2000;
        if(a>85&&d)stus[i].sum+=1000;
        if(b>80&&c)stus[i].sum+=850;
        sum+=stus[i].sum;
    }
    sort(stus+1,stus+n+1,[](stu a,stu b) {
        return a.sum>b.sum;
    });
    cout<<stus[1].name<<endl<<stus[1].sum<<endl<<sum;
    return 0;
}

回复

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

正在加载回复...