Result: Accepted
Time: 11ms
Memory: 1092kB
#include<stdio.h>
#include<stdlib.h>
struct student{
char name[31];
int score1,score2,score;
};
int cmp(const void *a,const void *b){
student c=*(student*)a;
student d=*(student*)b;
return d.score-c.score;
}
int main(void) {
int T;
scanf("%d",&T);
while(T--){
int N;
scanf("%d",&N);
struct student stu[101];
for(int i=0;i<N;i++){
scanf("%s%d%d",stu[i].name,&stu[i].score1,&stu[i].score2);
}
for(int i=0;i<N;i++){
stu[i].score=stu[i].score1+stu[i].score2;
}
qsort(stu,N,sizeof(stu[0]),cmp);
for(int i=0;i<N;i++){
printf("%s\n",stu[i].name);
}
}
return 0;
}