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