A41146.优秀干员
普及-
官方
通过率:0%
时间限制: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≤106)。
输出格式
假设有n1位被授予“神”称号的干员,以及n2位优秀干员。
- 首先输出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×102,1≤d≤100,1≤f≤100,1≤g≤100。
对于 50%的数据 : 1≤n≤2×102,1≤d≤300,1≤f≤100,1≤g≤100。
对于 100%的数据 : 1≤n≤2×105,1≤d≤300,1≤f≤100,1≤g≤106。