比赛排名
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
题目描述
有n位选手参加一场比赛,选手的编号分别为1,2,⋯,n,其中编号为i的选手姓名为si,并且在这场比赛中,他的得分为ai。
现在,有m次询问,对于每一次询问,小星想知道姓名以某一个字母结尾的所有选手中,评分第k大的选手的姓名。如果出现评分相同的选手,那么就输出编号最小的选手的姓名。
输入格式
第一行两个正整数n,m,分别表示选手人数和询问次数。
接下来n行,每行输入一个字符串si和整数ai,分别表示i号选手的姓名和得分,输入的顺序就是选手的编号顺序,并且保证∣si∣≤50,且都由小写字母组成。
接下来m行,每行输入一个字母x以及一个正整数k,表示询问所有名字以x字母结尾的选手中第k名选手的姓名(得分高的排名高)。
输出格式
共m行,每行一个字符串表示询问的答案。如果姓名以x字母结尾的选手不存在排名为k的,则输出Orz YYR tql。
样例 #1
样例输入 #1
5 2
aaa 1
aa 2
a 3
ab 3
bb 4
b 2
a 4
样例输出 #1
ab
Orz YYR tql
样例 #2
样例输入 #2
见附件
样例输出 #2
见附件
提示
【样例 1 解释】
对于询问1,以b结尾的选手的排名为"bb", "ab",所以输出第2名 "ab"。
对于询问2,以a结尾的选手的排名为"a", "aa", "aaa",没有第4名,直接输出"Orz YYR tql"。
【数据范围】
对于5%的数据n≤10,m≤1000。
对于20%的数据n,m≤1000。
对于所有数据n,m≤10^5,k≤n,保证名字长度小于等于50。
CSP-S复赛模拟2
- Status
- Done
- Rule
- IOI
- Problem
- 4
- Start at
- 2025-10-19 13:00
- End at
- 2025-10-27 21:00
- Duration
- 200 hour(s)
- Host
- Partic.
- 8