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