#HDSNG2025M2. 评选
评选
时间限制:1.00s
内存限制:128MB
题目描述
岛得螺保安公司正在进行一年一度的优秀干员评选活动。在本次评选中,岛得螺的领袖米阿驴将根据每位干员的作战记录,评选出年度最佳干员。
米阿驴手中共有 n 份特级作战记录,其中第 i 份记录对应编号为 i 的干员。每份作战记录包含以下信息:
干员名称:s
任务危险程度:d
任务评分:f
任务奖金:g
米阿驴制定了以下评选标准:
危险程度:干员执行的任务危险程度越高,越优秀。
任务评分:如果危险程度相同,则任务评分越高者越优秀。
任务奖金:如果危险程度和评分均相同,则任务奖金越高者越优秀。
资历:如果以上条件均相同,则编号越小(资历越老)的干员越优秀。
特别说明:
如果某位干员的任务危险程度超过 200,则该干员将直接被授予“神”的称号,且不参与优秀干员的评选。
你的任务是帮助米阿驴完成以下工作:
筛选出所有被授予“神”称号的干员。 对剩余干员按照评选标准进行排序,并输出优秀干员名单。 输入格式 第一行包含一个整数 n,表示作战记录的数量。
接下来n 行,每行描述一份作战记录,包含以下信息:
干员名称 s(由大小写字母和数字组成,长度不超过 20)。
任务危险程度 d(1≤d≤300)。
任务评分 f(1≤f≤100)。
任务奖金 g(1≤g≤10^6 )。
输出格式
假设有n1位被授予“神”称号的干员,以及n 2位优秀干员。
首先输出n1 行,内容为所有被授予“神”称号的干员名称。这些名称需按照干员编号从小到大的顺序排列,每行输出一个干员名称。(“神”称号干员可能不存在)
随后输出n2行,展示优秀干员的名单。这些干员需依据优秀程度从高到低进行排序,同样每行输出一个干员名称。 输入输出样例
输入#1
3
A 201 90 1000
B 200 95 500
C 200 95 500
输出#1
A
B
C
输入#2
5
Z 200 90 200
W 200 85 300
V 150 95 500
X 300 80 100
Y 200 90 200
输出#2
X
Z
Y
W
V
说明/提示 【样例一解释】
筛选“神”称号的干员:
干员 A 的危险程度为 201(超过 200),直接被授予“神”称号。
输出所有“神”称号的干员名称,按编号升序排列。此处仅 A 满足条件,直接输出。
优秀干员排序:
剩余干员 B(编号 2)和 C(编号 3)的 d 均为 200,f 均为 95,g 均为 500。
根据“资历”规则(编号更小者优先),B 排在 C 前。
最终输出顺序为 B 和 C。
数据约束
对于 30%的数据 : 1≤n≤2×10^2,1≤d≤100,1≤f≤100,1≤g≤100。
对于 50%的数据 : 1≤n≤2×10^2,1≤d≤300,1≤f≤100,1≤g≤100。
对于 100%的数据 : 1≤n≤2×10^5,1≤d≤300,1≤f≤100,1≤g≤10^6 。
相关
在下列比赛中: