垂死病中惊坐起,90竟是我自己
查看原帖
垂死病中惊坐起,90竟是我自己
884813
_luogu_huowenshuo_楼主2025/1/17 13:28

9090 分求条

#include<bits/stdc++.h>
#include<time.h>
#define int long long
#define double long double
const int N=2e6+5;
using namespace std;
int n;
struct st
{
	int c,m,e,name,z;
}a[N];
bool cmp(st s,st b)
{
	if(s.z>b.z)
		return 1;
	else if(s.z==b.z)
		if(s.c>b.c)
			return 1;
		else if(s.c==b.c)
			if(s.m>b.m)
				return 1;
			else if(s.m==b.m)
				if(s.e>b.e)
					return 1;
				else if(s.e==b.e)
					if(s.name<b.name)
						return 1;
	return 0;
}
signed main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].c>>a[i].m>>a[i].e;
		a[i].z=a[i].c+a[i].m+a[i].e;
		a[i].name=i;
	}
	sort(a+1,a+n+1,cmp);
	for(int i=1;i<=5;i++)
		cout<<a[i].name<<" "<<a[i].z<<"\n";
 	return 0;
}

玄关

2025/1/17 13:28
加载中...