本题和 hard version 的区别仅仅在于队伍总数 $$$n$$$ 的范围不同,其它均一致。
众所周知,在 *CPC 比赛中,榜单是一个很重要的部分。
最近,在 ICPC 和 CCPC 比赛的举办期间,有一个公益组织在 GitHub 上创建了一个项目,用于渲染 *CPC 的榜单,致力于提供更丰富的关于榜单的数据统计分析。
除了数据统计分析,XCPCIO Board 还提供了如下特性:
关于 XCPCIO Board 的更多详细信息,欢迎访问 https://board.xcpcio.com。
现在,XCPCIO 希望开发一个 Board 的 CLI 工具,希望您能帮助他们。
首先,XCPCIO 会以一定的格式将队伍数据和提交数据提供给你(具体的数据格式请参考 Input)。
其次,你需要回答用户的 $$$q$$$ 个询问,询问类型如下:
Dirt 率:所有 AC 了的题目中的 $$$\lfloor \frac{\mbox{非 AC 提交数}}{\mbox{总提交数}} \rfloor$$$。如果还没有 AC 题目,那么你需要输出 "N/A"。
关于罚时的计算:
关于排名:
容易证明,按照以上排名规则,不会出现两支队伍排名一致的情况。
并且我们约定在比赛的第 $$$0$$$ 时刻,没有任何提交,每支队伍的排名就是它的队伍编号。
在某一时刻,如果有多发提交,那么在这一时刻整个排行榜如果按一发一发的提交来变化可能会变化很多次。
但是我们在此处约定,如果某一时刻有多发提交,那么这一时刻的排名是基于这些提交产生的结果都应用之后。
也就是说,在一场比赛中,榜单的结果只有 $$$T$$$ 种,当时间戳为 timestamp 时的榜单为所有时间戳小于等于 timestamp 的提交产生的结果榜单。
单组数据评测。
第一行包含 $$$4$$$ 个正整数 $$$n(1 \leq n \leq 500),\;T(1 \leq T \leq 10^5),\;m(1 \leq m \leq 10^6),\;p(1 \leq p \leq 13)$$$,表示该场比赛总的队伍数, 总的时间, 总的提交数和题目数量。
接下来 $$$m$$$ 行,每行表示一个提交。包含 $$$3$$$ 个正整数 $$$team_i(1 \leq team_i \leq n),\;problemid_i(1 \leq problemid_i \leq p)$$$, $$$timestamp_i(1 \leq timestamp_i \leq T)$$$, 表示队伍编号, 题目编号和时间戳,以及一个字符串 AC|WA, 表示提交的状态(AC 表示正确通过,WA 表示解答错误)。
第 $$$m + 1$$$ 行包含一个正整数 $$$q(1 \leq q \leq 10^5)$$$,表示询问总数。
接下来 $$$q$$$ 行,每行表示一个询问。
对于以上所有询问类型,都有 $$$1 \leq timestamp \leq T$$$, $$$1 \leq teamid \leq n$$$, $$$1 \leq problemid \leq p$$$, $$$1 \leq problemnum \leq p$$$。
一支队伍如果在 AC 一道题目后继续对该题进行提交,我们认为 AC 之后的提交对数据统计分析没有意义,所以我们提前剔除了这些「脏提交」,或者你可以认为我们提供的数据中不存在这样的提交。
并且数据保证,每支队伍在每一时刻,对于某一道题最多只有一发提交。
需要注意的是,给出的 $$$m$$$ 条提交并不一定是按 timestamp 排序的。
对于每一个询问,输出包含一行。
5 10 10 13 1 1 5 WA 1 1 6 AC 2 1 1 AC 3 5 5 WA 3 5 6 AC 3 7 1 AC 3 13 10 AC 5 1 1 AC 5 2 1 WA 5 2 2 AC 21 teamstatus 1 1 teamstatus 2 2 teamstatus 3 3 teamstatus 4 4 teamstatus 5 5 minrank 1 1 maxrank 1 5 maxrank 2 5 account 1 1 account 2 1 submitcount 1 1 submitcount 2 1 submitcount 9 13 submitcount 10 13 teamcount 1 1 teamcount 2 1 teamcount 3 2 teamcount 10 1 teamstatus 10 3 teamstatus 1 2 teamstatus 5 1
4 [-------------] N/A 2 [o------------] 0% 3 [------o------] 0% 5 [-------------] N/A 1 [oo-----------] 33% 1 5 5 2 2 2 2 0 1 3 2 1 2 1 [----o-o-----o] 25% 1 [o------------] 0% 4 [x------------] N/A