Result: Accepted
Time: 16ms
Memory: 1092kB
#include<stdio.h>
#include<stdlib.h>
struct student{
char name[30];
int a;
int b;
int max;
};
int comp(const void *p,const void *q){
return ((struct student*)q)->max-((struct student*)p)->max;}
int main(){
int T;
int N;
int i;
struct student studentArray[100];
scanf("%d",&T);
while(T--){
scanf("%d",&N);
for(i=0;i<N;i++){
scanf("%s%d%d",studentArray[i].name,&studentArray[i].a,&studentArray[i].b);
studentArray[i].max =(studentArray[i].a+studentArray[i].b);
}
qsort(studentArray,N,sizeof(struct student),comp);
for(i=0;i<N;i++){
printf("%s\n",studentArray[i].name);
}
}
return 0;
}