QOJ.ac

QOJ

実行時間制限: 5 s メモリ制限: 1024 MB 満点: 100

#2688. 全都要推一下

統計

Nudgémon GO 是一款玩家通过捕捉和进化 Nudgémon 来尽可能多地赚取经验值($XP$)的游戏。捕捉一只 Nudgémon 可获得 $100$ $XP$,进化一只 Nudgémon 可获得 $500$ $XP$。你的朋友最近一直在玩这个游戏,但你认为他的策略并不理想。

所有 Nudgémon 都被分为不同的家族,每个家族都有其独特的糖果类型。一个家族中的 Nudgémon 按从弱到强的顺序排列,从而形成一个链条。任何不是家族中最强的 Nudgémon 都可以进化为该家族中排名下一级的 Nudgémon。

糖果是 Nudgémon 世界中的基础货币: 当你捕捉一只 Nudgémon 时,你会获得 $3$ 颗与该 Nudgémon 家族相关的糖果。 当你将一只 Nudgémon 永久转移出你的持有列表时,你会获得 $1$ 颗与该 Nudgémon 家族相关的糖果。

每次进化 Nudgémon 都会消耗特定数量的该家族糖果。此外,家族链条上的进化成本是非递减的,这意味着家族中排名较高的进化所需的糖果数量大于或等于较低的进化。

以下是可能的 Nudgémon 进化示例:

除了让开发者赚钱和捕捉所有 Nudgémon 之外,游戏的目标是赚取尽可能多的 $XP$ 来提升玩家角色的等级,从而能够在野外遇到更强大的 Nudgémon。因此,为了实现第一个目标,你可以用真实货币在游戏中购买一个“祝福蛋”(Blessed Egg)。该物品允许你在激活后的 $30$ 分钟内将获得的 $XP$ 加倍,即如果在时间 $e$(以游戏开始后的秒数计)激活该蛋,则对于在时间 $t$ 采取的任何行动,当且仅当 $e \le t < e + 1800$ 时,你将获得双倍 $XP$。

在游戏开始时,你的朋友获得了一个祝福蛋。不幸的是,他完全浪费了它。你认为最好只在祝福蛋激活时进化 Nudgémon,否则就是巨大的资源浪费!为了向你的朋友证明这一点,你记录了他捕捉的所有 Nudgémon 的时间戳,并决定计算如果他能策略性地选择激活祝福蛋的时间,并且只在蛋激活期间进化 Nudgémon,他现在能获得的最大 $XP$ 是多少。

输入格式

输入包含: 一行包含一个整数 $f$ ($0 \le f \le 10^5$),表示 Nudgémon 家族的数量; $f$ 行描述每个 Nudgémon 家族,每行包含以下元素: 一个整数 $s_i$ ($1 \le s_i \le 10^5$),表示该家族中 Nudgémon 的数量; $s_i - 1$ 次:一个 Nudgémon 的名称,后跟一个整数 $c_j$ ($1 \le c_j \le 10^5$),表示进化此 Nudgémon 所消耗的糖果数量; 该家族中最强 Nudgémon 的名称; 一行包含一个整数 $n$ ($0 \le n \le 4 \cdot 10^5$),表示你朋友捕捉到的 Nudgémon 数量; * $n$ 行,每行包含一个整数 $t_i$ ($0 \le t_i \le 10^9$) 和一个字符串 $p_i$,表示捕捉到 Nudgémon 的时间和该 Nudgémon 的名称。

保证 Nudgémon 的种类总数不超过 $10^5$ ($\sum_i s_i \le 10^5$)。每个家族中的 Nudgémon 按等级递增的顺序给出,因此同一家族中的 $c$ 值是非递减的。每个 Nudgémon 的名称是一个长度在 $1$ 到 $20$ 之间的由小写字母组成的字符串。时间 $t_i$ 是非递减的(你的朋友动作很快,可以在同一秒内捕捉多个 Nudgémon)。没有 Nudgémon 名称会在一个家族内出现多次,也不会在多个家族中出现,且所有 $n$ 个被捕捉的 Nudgémon 都属于其中一个家族。

输出格式

输出你的朋友在当前时间能获得的最大 $XP$ 总量,前提是他能在最佳时间激活祝福蛋,并且只在蛋激活期间进化 Nudgémon。

样例

样例输入 1

3
3 caterpillar 3 pupa 7 butterfly
3 dove 3 pigeon 7 aaabaaajss
3 mouse 1 electromouse 5 rat
7
0 electromouse
500 electromouse
1000 electromouse
1500 rat
2000 aaabaaajss
2500 pigeon
3000 butterfly

样例输出 1

5100

样例输入 2

1
1 slownudge
2
0 slownudge
1800 slownudge

样例输出 2

300

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.