#612. [26届信息素养复赛模拟] 数学竞赛排名

[26届信息素养复赛模拟] 数学竞赛排名

题目背景

学校举办了一年一度的数学竞赛,许多小朋友都参加了。老师需要一个程序来帮助她记录每个参赛者的得分,并根据得分排出名次。

题目描述

编写一个程序,输入参赛者的姓名和得分。程序应能够根据得分从高到低排序,并输出前几名的名单。

输入格式

输入一个正整数 P(1P100)P(1 \le P \le 100),表示参赛者的数量。 接下来 PP 行,每行输入一个参赛者的姓名(字符串长度不超过 1010)和一个整数 t(1t100)t(1 \le t \le 100),代表其得分。 输入一个正整数 R(1RP)R(1 \le R \le P),表示想要输出的排名数量。

输出格式

输出前 RR 名参赛者的姓名和得分,按得分从高到低排序(得分相同按输入先后顺序输出)。

样例

8
Anna 95
Emma 90
Tom 92
Lucy 88
Mike 85
Peter 82
Lily 80
John 78
3
Anna 95
Tom 92
Emma 90
8
Anna 95
Emma 92
Tom 92
Lucy 88
Mike 85
Peter 82
Lily 80
John 78
3
Anna 95
Emma 92
Tom 92

数据范围

子任务 分值 数据范围 特殊性质
11 3030 P10P \le 10
22 7070 P100P \le 100