最佳排名
#include
#include
#include
#include
#include using namespace std;unordered_map<string, vector<int>> grades;
vector <int> q[4];
int get_rank(vector<int>& a , int x)
{int l = 0, r = a.size() - 1;while(l < r){int mid = l + r + 1 >> 1;if(a[mid] <= x) l = mid;elser = mid - 1;}return a.size() - r;}int main()
{int n, m;cin >> n >> m;for(int i = 0; i < n; i ++ ){string id;int t[4] = {0};cin >> id;for(int j = 1; j < 4; j ++ ){cin >> t[j];t[0] += t[j];}t[0] = round(t[0] / 3.0);for(int j = 0; j < 4; j ++ ){q[j].push_back(t[j]);grades[id].push_back(t[j]);}}for(int i = 0; i < 4; i ++ )sort(q[i].begin(),q[i].end());char names[] = "ACME";while(m -- ){string id;cin >> id;if(grades.count(id) == 0) puts("N/A");else{int res = n + 1;char c;for(int i = 0; i < 4; i ++ ){int rank = get_rank(q[i], grades[id][i]);if(rank < res){res = rank;c = names[i];}}cout << res << ' ' << c << endl;}}return 0;}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!