代码可能有些乱,请谅解
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std;
struct node{
int x,y,z;
int sum=0;
int ss;
}a[400];
int main(){
int n;
scanf("%d",&n);
for(int i=1;i<=n;++i){
scanf("%d%d%d",&a[i].x,&a[i].y,&a[i].z);
a[i].sum=a[i].x+a[i].y+a[i].z;
a[i].ss=i;
}
for(int i=1;i<=n;++i){
for(int j=1;j<=n-i;++j){
if(a[j].sum<a[j+1].sum)
swap(a[j],a[j+1]);
else if(a[j].sum==a[j+1].sum){
if(a[j].x<a[j+1].x){
swap(a[j],a[j+1]);
break;
}
if(a[j].x==a[j+1].x){
if(a[j].ss>a[j].ss)
swap(a[j],a[j+1]);
}
}
}
}
for(int i=1;i<=5&&i<=n;++i)
printf("%d %d\n",a[i].ss,a[i].sum);
return 0;
}