Result: Accepted
Time: 12ms
Memory: 1092kB
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//int cmp(const void *p,const void *q){return (*(int *)q-*(int *)p);}
struct st{
char n[32];
int sum;
};
int main(void){
int t;
scanf("%d",&t);
while(t--){
int n,i,j,a,b;
struct st s[120];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%s %d %d",&s[i].n,&a,&b);
s[i].sum=a+b;
}
for(i=0;i<n;i++){
int t=i;
for(j=i;j<n;j++){
if(s[t].sum<s[j].sum)
t=j;
}
if(t!=i){
//int len1=strlen(s[i].n),len2=strlen(s[t].n);
strcpy(s[115].n,s[i].n);//len1
strcpy(s[i].n,s[t].n);//len2
strcpy(s[t].n,s[115].n);//len1
int x=s[i].sum;
s[i].sum=s[t].sum;
s[t].sum=x;
}
}
for(i=0;i<n;i++){
printf("%s\n",s[i].n);
}
}
return 0;
}