#include #include #include #include #include #include using namespace std; struct Team { string name; int score; bool operator<(const Team& other) const { return score < other.score; } }; int main() { int N; cin >> N; vector teams; for (int i = 0; i < N; ++i) { Team t; cin >> t.name; int p; cin >> p; vector e(6); for (int j = 0; j < 6; ++j) cin >> e[j]; sort(e.begin(), e.end()); t.score = p * 10 + accumulate(e.begin() + 1, e.begin() + 5, 0); teams.push_back(t); } stable_sort(teams.rbegin(), teams.rend()); int num_higher = 0; int num_output = 0; for (int i = 0; i < teams.size(); ++i) { if (i > 0 && teams[i].score != teams[i - 1].score) { num_higher = i; } if (num_higher > 2) { break; } ++num_output; cout << teams[i].name << " " << teams[i].score << endl; } assert(num_output <= 1'000); }