#include <iostream>
using namespace std;
//本题主要考察结构体的用法,没有逻辑和思维上的难度,下面对用法进行一些讲解
int main() {
struct student{//定义结构体struct
string name;//结构体中的字符串类型元素
int cn,ma,en;//整数类型元素
int tot=cn+ma+en;//题目要求的总分
student(string A,int B,int C,int D)//定义函数,方便后续将数据输入结构体
{
name=A,cn=B,ma=C,en=D;//将输入的参数传递到结构体中各个元素当中
tot=B+C+D;//该函数中也可以定义一些运算
}
student()=default;//定义空结构体,防止未定义导致的报错
bool operator<(const student &x)const{//符号重载,这里需要记住格式
return tot<x.tot;
}
}a[2000];
int N{};
cin>>N;
string A;
int B,C,D;
for(int i=0;i<N;i++){
cin>>A>>B>>C>>D;
a[i]=student(A,B,C,D);
}
student ans=a[0];
for(int i=1;i<N;i++)
{
if(ans<a[i])//这里必须使用小于号,因为符号重载只操作了小于号
ans=a[i];
}
cout<<ans.name<<" "<<ans.cn<<" "<<ans.ma<<" "<<ans.en;
return 0;
}
// 64 位输出请用 printf("%lld")