香农先修班里,谁才是真正的卷王呢?
给定香农先修班 n 个同学的用户名、学号和做题量,请将这些同学排序,做题量大的排前面。如果两个人做题量一样,学号小的排前面。
#include <bits/stdc++.h>
using namespace std;
struct Person
{
// 请补全
} p[110];
bool cmp(Person one, Person two)
{
if (one.cnt != two.cnt)
{
return one.cnt > two.cnt;
}
else
{
// 请补全
}
}
int main()
{
int n;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> p[i].name >> p[i].id >> p[i].cnt;
}
sort(p, p + n, cmp);
for (int i = 0; i < n; i++)
{
// 请补全
}
}
输入
第一行一个整数 n \ (1 \leq n \leq 100),表示人数。
接下来 n 行每行一名同学,包括一个只包含英文字母和数字的字符串 a 和两个整数 b,c \ (0 \leq b,c \leq 10^{16}),a 是用户名,b,c 分别表示学号和做题量。字符串长度不超过 256。
保证每个人的学号都是唯一的。
输出
输出 n 行,按照排序后的先后顺序输出这些同学的用户名。
样例
标准输入 复制文本 |
5 Norato 20202005302 0 dayuanx 20202005087 1000000007 Justice 20202005145 998244353 Katalyst 20202005061 10086 a1393323447 20202005213 998244353 |
标准输出 复制文本 |
dayuanx Justice a1393323447 Katalyst Norato |
标准输入 复制文本 |
1 lr580 20202005175 10000000000000000 |
标准输出 复制文本 |
lr580 |