侧边栏壁纸
  • 累计撰写 192 篇文章
  • 累计创建 2 个标签
  • 累计收到 87 条评论

【题解】T1179 奖学金

Allen Best
2023-07-08 / 0 评论 / 1 点赞 / 25 阅读 / 515 字
温馨提示:
本文最后更新于 2023-07-08,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
#include<bits/stdc++.h>
#define N 10001
using namespace std;
struct stu{
	int id,c,m,e,s;	
}a[N];
bool cmp(stu x,stu y){
	if(x.s!=y.s) return x.s>y.s;
	if(x.s==y.s && x.c!=y.c) return x.c>y.c;
	if(x.s==y.s && x.c==y.c && x.id != y.id ) return x.id < y.id;
}
int main(){
	int n;
	cin>>n;
	for(int i=0;i<n;i++){
		a[i].id=i+1;
		cin>>a[i].c>>a[i].m>>a[i].e;
		a[i].s=a[i].c+a[i].m+a[i].e;
	}
	//a数组排序
	sort(a,a+n,cmp); 
	for(int i=0;i<5;i++){
		cout<<a[i].id<<" "<<a[i].s<<endl;
	}
	return 0;
}

0

评论区