P6675 [COCI 2019/2020 #2] ACM
题目描述
一场有着悠久历史的比赛马上开始了,它是由 ACM 组织的。确切地说,有 $n$ 个团队将角逐头名,其中包括克罗地亚黄金三人组:Paula、Marin 和 Josip。竞赛采用标准形式,通过团队成员之间的协作,共同编写代码并提交。
比赛由 $m$ 个不同的题目组成,各小组按已解决的题目数排序(不递增)。
具有相同数量已解决任务的团队按所谓的罚时排序(不递减)。某个团队的罚时是他们在每一个正确解决的任务上获得的罚时的总和。正确解决的任务的罚时等于团队解决该任务所花费的时间(从比赛开始)增加。
每个提交但未通过的代码将给提交该代码的团队增加 $20$ 分钟罚时。任何团队都不会为他们已经解决的问题提交代码,并且每个团队的每一个问题的最大提交次数为 $9$。如果一些团队有相同数量的问题解决和相同的罚时,他们将按字典序在排行榜中排列。
比赛持续 $5$ 个小时。在前 $4$ 个小时内,所有团队都可以获得排名,并包含有关每个团队的每个题目状态的信息(提交的次数、是否已解决以及何时解决)。在这 $4$ 个小时里,队伍的排名将在每一次提交后自动更新。不过,在最后 $1$ 小时内,排行榜被冻结,即评测新提交的代码后,参赛队伍的排名不会更新。在这段时间里,每个团队都知道自己提交的代码的评测结果,但不知道其他团队提交的代码的评测结果。他们只知道其他团队提交了哪些任务、提交了多少次以及每个任务的最后一次提交时间。
比赛结束了,排行榜很快就会解冻。我们的英雄,NijeZivotJedanACM 需要你的帮助。他们想知道在排行榜上最差的排名是什么,在排行榜解冻后他们最终可能会排在什么位置。请你帮助他们!
输入格式
输入数据共 $n + 2$ 行。
第一行两个整数 $n$ 和 $m$,表示参赛队伍的个数和题目的个数。
接下来 $n$ 行,每行的输入格式如下:
1. 首先输入队伍名称;
2. 接下来 $m$ 个字符串,格式均为 `SX/V`,说明如下:
- `S` 表示题目状态,共有三种字符:`-`、`+`、`?`。`-` 表示该题目该团队未通过,`+` 表示该题目该团队已通过,`?` 表示该题目最后一次提交时排行榜已冻结。
- `X` 表示该题目该团队的提交次数。特别地,如果该题目该团队未提交,则 `X` 省略。
- `V` 表示该题目该团队最后一次提交时比赛已经开始的时间,用 `HH:MM:SS` 表示,可能有前导零来补足。特别地,如该题目未通过,则整个 `/V` 部分省略。
最后一行按照前面的格式,输入 NijeZivotJedanACM 的最终成绩(即排行榜解冻后的成绩)。
输出格式
输入数据共一行。
第一行,输出 NijeZivotJedanACM 可能会处在的最差排名。
说明/提示
#### 数据规模及约定
- 对于 $40\%$ 的数据,保证所有输入的 `S` 状态均不为 `?`。
- 对于 $100\%$ 的数据,$1 \le n \le 1000$,$1 \le m \le 15$,保证所有测试数据中,任意两个小组的名字均不同。
#### 说明
**本题满分 $50$ 分。**
**题目译自 [COCI2019-2020](https://hsin.hr/coci/archive/2019_2020/) [CONTEST #2](https://hsin.hr/coci/archive/2019_2020/contest2_tasks.pdf) *T1 ACM*。**