#include<iostream> #include<stdio.h> #include<map> #include<vector> #include<queue> #include<string> #include<cstring> #include<unordered_map> #include<algorithm> usingnamespacestd; structSTUDENT_GRADE{ int C; int M; int E; int A; };
intcmp1(int a,int b) { return b<a; }
char szTest[4] = {'C', 'M', 'E', 'A'}; intmain() { int iN, iM; cin >>iN >>iM; vector<int> vecGrade[4]; //记录每种科目的所有分数,并排序 map<int, int> mapGradeIndex[4]; //记录分数在该科目中的位次 unordered_map<string, STUDENT_GRADE> mapStudentGrade; //记录学生的分数 string strStudentId; for(int i = 0; i < iN; i++) {
int iC, iM, iE; cin >> strStudentId >> iC >> iM >> iE; STUDENT_GRADE stTudentGrade; stTudentGrade.C = iC; stTudentGrade.M = iM; stTudentGrade.E = iE; stTudentGrade.A = iC + iM + iE; mapStudentGrade[strStudentId] = stTudentGrade; vecGrade[0].push_back(iC); vecGrade[1].push_back(iM); vecGrade[2].push_back(iE); vecGrade[3].push_back(stTudentGrade.A); }