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