80分求助,玄关
查看原帖
80分求助,玄关
1089206
_safdsfdeaf_楼主2025/6/21 16:43
#include<bits/stdc++.h>
using namespace std;
struct s{
	int c,m,e,num;
	int mark;
};
bool cmp(s a,s b){
	return a.mark>b.mark;
}
int main(){
	int n;
	cin>>n;
	s a[n];
	for(int i=0;i<n;i++){
		cin>>a[i].c>>a[i].m>>a[i].e;
		a[i].mark=a[i].c+a[i].m+a[i].e;
		a[i].num=i+1;
	}
	sort(a,a+n,cmp);
	for(int i=0;i<5;i++){
		if(a[i].mark==a[i+1].mark){
			if(a[i].c<a[i+1].c)
				swap(a[i],a[i+1]);
			else if(a[i].c==a[i+1].c){
				if(a[i].num>a[i+1].num)
					swap(a[i],a[i+1]);
			}
		}
	}
	for(int i=0;i<5;i++)
		cout<<a[i].num<<" "<<a[i].mark<<endl;
	return 0;
}

哪位dalao帮我看一下哪里错了

2025/6/21 16:43
加载中...