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