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