#include#include #include #include typedef struct{ char id[10]; int c; int m; int e; int a; int best; char bestCourse;}stu;int cmpA(const void * x, const void * y){ return ((*(stu *)y).a - (*(stu *)x).a);}int cmpC(const void * x, const void * y){ return ((*(stu *)y).c - (*(stu *)x).c);}int cmpM(const void * x, const void * y){ return ((*(stu *)y).m - (*(stu *)x).m);}int cmpE(const void * x, const void * y){ return ((*(stu *)y).e - (*(stu *)x).e);}int main(){ //freopen("in.txt","r",stdin); int n,m; int i; stu stus[2001]; char obj[10]; scanf("%d %d",&n,&m); for(i=0;i curGrade) { stus[i].best = curGrade; stus[i].bestCourse = 'A'; } } qsort(stus,n,sizeof(stu),cmpC); curGrade = 1; curScore = stus[0].c; for(i=0;i curGrade) { stus[i].best = curGrade; stus[i].bestCourse = 'C'; } } qsort(stus,n,sizeof(stu),cmpM); curGrade = 1; curScore = stus[0].m; for(i=0;i curGrade) { stus[i].best = curGrade; stus[i].bestCourse = 'M'; } } qsort(stus,n,sizeof(stu),cmpE); curGrade = 1; curScore = stus[0].e; for(i=0;i curGrade) { stus[i].best = curGrade; stus[i].bestCourse = 'E'; } } while(0 < m--){ scanf("%s",obj); for(i=0; i