SP7599 PC8F - Optimal Strategy for the ICPC

题目描述

以下内容摘自国际大学生程序设计竞赛的官方规则,具体可以参考网址:http://www.acmicpc-pacnw.org/rules.htm > 总时间是每个已解决问题所花费的时间总和。解决某个问题的时间计算方式为:从比赛开始到第一次提交被接受的时刻的间隔时间,再加上该问题每次提交失败的20分钟罚时。如果问题未解决,则无需计时。 简单来说,一个最优策略的关键在于避免错误提交,以免导致罚时。因此,机器人只需确定提交问题的最佳顺序。 假设这些机器人非常聪明,能够精确估算每个问题的解答时间。你的任务就是确定提交问题的最佳顺序。机器人意识到最有效的方式是每个机器人各自研究不同的问题,而不是合力解决同一问题。此外,假设每个机器人打字速度飞快,而且在思考过程中不占用计算机终端。因此,最多可以同时进行三个问题,并且三名机器人甚至可以在同一分钟内提交他们的解答。由于问题数量多于比赛中为人设计的数量,并且机器人天生挑剔,如果有多种提交顺序能获得相同分数,他们会选择字典序最小的顺序来提交问题。 请确定一种算法,以解决最多的问题,并为这些问题获得最佳的成绩,并将其实现。

输入格式

输入的第一行是一个整数 $n$($0 < n < 100$),表示数据集的数量。接下来的 $n$ 行给出每个数据集的信息。每行的第一个整数是该数据集中问题的数量 $k$($5 \le k \le 15$)。同一行接下来的 $k$ 个整数,由空格分隔,表示解决每个问题的估计时间,这些时间均在1到300之间。问题从字母 A 开始按字母顺序标记。请注意,比赛总时长为300分钟。

输出格式

每个数据集对应一行输出,包含数据集编号、问题的提交顺序、解决的问题总数,以及最终的罚时分数。具体格式请参考示例输出,所有非空白内容之间用空格分隔。 **本翻译由 AI 自动生成**