1373. 结构体排序

香农先修班里,谁才是真正的卷王呢?

给定香农先修班 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
登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 59
通过 28