系结构体多重优先级
#include<bits/stdc++.h>
using namespace std;
struct s{
string y1;
double y2;
double y3;
double y4;
double y5;
int y6;
}a[1003];
bool cmp(s x,s y){
if(x.y5 !=y.y5)return x.y5> y.y5;//先判总分,不同结束(第1优先级)
if(x.y2 !=y.y2)return x.y2> y.y2;//总分相同,再判语文(第2优先级)
if(x.y6 !=y.y6)return x.y6> y.y6;//总分,语文相同,再判id(第2优先级)
}
int main(){
int d;
cin >> d;
for(int i =1;i<=d;i++){
cin >> a[i].y1>> a[i].y2 >> a[i].y3>> a[i].y4;
a[i].y5=a[i].y2 + a[i].y3+ a[i].y4;
a[i].y6=i;}
sort(a+1,a+d+1,cmp);
for(int i=1;i<=2;i++){
cout<< a[i].y1<<" "<< a[i].y5<< endl;
}
return 0;
}