重载运算符实现结构体排序
#include<bits/stdc++.h>
using namespace std;
struct node
{
int a;
int b;
int c;
int sum;
int no;
bool operator <(const node &x)const
{
if(x.sum != sum)
return x.sum<sum;
if(x.a != a)
return x.a<a;
return x.no>no;
}
}p[305];
int n;
int a,b,c;
signed main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a>>b>>c;
p[i].a = a;
p[i].b = b;
p[i].c = c;
p[i].sum = a+b+c;
p[i].no = i;
}
sort(p+1,p+1+n);
for(int i=1;i<=5;i++)
{
cout<<p[i].no<<" "<<p[i].sum<<endl;
}
return 0;
}