code:
#include<bits/stdc++.h>
using namespace std;
int n,m;
struct stu{
double mark;
char team;
}stu[1001];
int team_mark[27];
int test[27];
double sum;
bool cmp(stu a,stu b){
if(a.mark!=b.mark)return a.mark>b.mark;
return a.team<b.team;
}
signed main(){
for(int i=1;i<=n;i++){
cin>>stu[i].mark>>stu[i].team;
}
for(int i=1;i<=m;i++){
for(int j=1;j<=m;j++){
cin>>test[j];
sum+=test[j];
}
int average=sum/m;
for(int j=1;j<=m;j++){
if(abs(average-test[j])>15)sum-=test[j];
}
team_mark[i]=int(sum/m+0.5);
}
for(int i=1;i<=n;i++){
stu[i].mark*=0.4;
stu[i].mark+=team_mark[stu[i].team-'A'+1]*0.6;
stu[i].mark=int(stu[i].mark+0.5);
}
sort(stu+1,stu+1+n,cmp);
for(int i=1;i<=n;i++){
cout<<stu[i].mark<<" "<<stu[i].team<<endl;
}
return 0;
}