Result: Accepted
Time: 1264ms
Memory: 2228kB
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<math.h>
struct student{
char a[100];
int x,y,z;
int sum;
}get[10001],t;
int main (){
int N,i,sum=0,m,k=0,j;
double sum1=0,sum2=0,sum3=0;
int T,ame;
char a[100];
scanf("%d",&N);
for(i=0;i<N;i++){
scanf("%s%d%d%d",get[i].a,&get[i].x,&get[i].y,&get[i].z);
sum1+=get[i].x;sum2+=get[i].y;sum3+=get[i].z;
get[i].sum=get[i].x+get[i].y+get[i].z;
}
scanf("%d",&T);
for(i=0;i<T;i++){
scanf("%d",&ame);
if(ame==1){
scanf("%s",a);
k++;
printf("Query #%d: 1 %s\n",k,a);
for(j=0;j<N;j++){
if(strcmp(a,get[j].a)==0){
printf("%d %d %d %d\n",get[j].sum,get[j].x,get[j].y,get[j].z);
}
}
}
if(ame!=1){
scanf("%d",&m);
k++;
printf("Query #%d: %d %d\n",k,ame,m);
if(m==1)printf("%.2f\n",sum1/N);
if(m==2)printf("%.2f\n",sum2/N);
if(m==3)printf("%.2f\n",sum3/N);
}
}
for(i=0;i<N;i++){
for(j=i+1;j<N;j++){
if(get[i].sum<get[j].sum){
t=get[i];get[i]=get[j];get[j]=t;
}
if(get[i].sum==get[j].sum){
if(get[i].x<get[j].x){
t=get[i];get[i]=get[j];get[j]=t;
}
if(get[i].x==get[j].x){
if(get[i].y<get[j].y){
t=get[i];get[i]=get[j];get[j]=t;
}
if(get[i].y==get[j].y){
if(get[i].z<get[j].z){
t=get[i];get[i]=get[j];get[j]=t;
}
if(get[i].z==get[j].z){
if(strcmp(get[i].a,get[j].a)>0){
t=get[i];get[i]=get[j];get[j]=t;
}
}
}
}
}
}
}
for(i=0;i<N;i++){
printf("%s %d %d %d %d\n",get[i].a,get[i].sum,get[i].x,get[i].y,get[i].z);
}
}