P13797 [SWERC 2023] Programming-trampoline-athlon!

题目描述

:::align{center} ![](https://espresso.codeforces.com/a75009f1d00a17654c89251bd019d39f1ee01d81.png) ![](https://espresso.codeforces.com/ed274bb41d6938a7fe78ee1e6b6f4ec73754aad8.png) ::: 编程竞赛既有趣又激动人心。我们认为编程应该成为奥运项目!然而,当我们向一些朋友提出这个想法时,他们似乎并不认同我们的热情。因此,我们决定提出一项更有观赏性的综合运动——编程蹦床三项赛!(我们还在想名字。) 比赛规则如下:这是一项团队运动,每支队伍由 $3$ 名成员组成。每队拥有 $1$ 小时、$1$ 台电脑和 $1$ 个蹦床。任何时刻,最多只能有一名队员使用电脑,且至少有一名队员在蹦床上跳跃。比赛开始时,每队会获得 $6$ 道编程题和 $6$ 个蹦床动作(练习)。队伍需要决定如何将蹦床动作分配给队员,使得每名队员都要完成 $2$ 个指定的蹦床动作。编程任务由队员协作完成,但每名队员在电脑上总共花费的时间不得超过 $25$ 分钟。得分由两部分组成,最终得分为两部分之和: - 编程得分范围为 $0$ 到 $60$。每解出一道题,队伍可获得 $10$ 分。 - 蹦床得分范围为 $0$ 到 $40$。每个蹦床动作由裁判打分,分数范围为 $0$ 到 $10$。最终蹦床得分为去掉 $6$ 个分数中的最高分和最低分后,将剩余 $4$ 个分数相加。 在我们向国际奥委会推荐这项新运动之前,我们希望一切准备就绪,以向他们展示我们的认真。因此,每支队伍应当获得奖牌,当且仅当没有超过两支其他队伍获得了严格更高的总分。然而,由于最近奖牌短缺,评审团被要求确保获得奖牌的队伍不超过 $1\,000$ 支。请你编写一个程序,根据各队的表现确定获奖队伍。

输入格式

第一行包含参赛队伍数 $N$。接下来有 $N$ 行,每行描述一支队伍,包含以空格分隔的 $C, P, E_1, E_2, E_3, E_4, E_5, E_6$;$C$ 是用于标识队伍的五位字母代码,$P$ 是队伍解出的题目数,$E_i$ 是第 $i$ 个蹦床动作的得分。 **数据范围** - $3 \leq N \leq 100~000$; - $3 \leq M \leq 1~000$; - $C$ 由五个大写英文字母组成。 - $0 \leq P \leq 6$; - $0 \leq E_i \leq 10$ 对于所有的 $1 \leq i \leq 6$; - 保证不同的队伍有不同的字母代码。

输出格式

输出应包含 $M$ 行,其中 $M$ 是获奖队伍的数量。每行包含两个以空格分隔的值 $C$ 和 $S$,其中 $C$ 是队伍代码,$S$ 是队伍的总分。获奖队伍应按总分从高到低排序,若总分相同则按输入顺序排列。

说明/提示

由 ChatGPT 4.1 翻译