比赛 NOIP2007普及组(复现) 评测结果 AAAAAAAAAA
题目名称 奖学金 最终得分 100
用户昵称 MarKLinX 运行时间 0.007 s
代码语言 C++ 内存使用 13.66 MiB
提交时间 2020-02-09 17:32:28
显示代码纯文本
#include<iostream>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;
struct student
{
    int id;
    int chinese;
    int math;
    int english;
}stu[400];
bool jxj(student a,student b)
{
    int sa,sb;
    sa=a.chinese+a.math+a.english;
    sb=b.chinese+b.math+b.english;
    if(sa == sb)//总分相等 
    {
        if(a.chinese==b.chinese)
        {
            return a.id<b.id;//学号从小到大排序 
        }
        else return a.chinese>b.chinese;//语文成绩从大到小 
    }
    else return sa>sb;// 总分从大到小 
}
int main()
{
	freopen("pj07-1.in","r",stdin);
	freopen("pj07-1.out","w",stdout);
    int n,id=0;
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>stu[i].chinese>>stu[i].math>>stu[i].english;
        id+=1;
        stu[i].id = id;
    }
    sort(stu,stu+n,jxj); 
    for(int i=0;i<5;i++)
    {
        cout<<stu[i].id<<" "<<stu[i].chinese+stu[i].math+stu[i].english<<endl;
    }
    return 0;
}