410769: GYM104101 B Steel of Heart

Memory Limit:256 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

B. Steel of Hearttime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard output

$$$XPL$$$ 是一名老年大乱斗玩家。最近新赛季推出了一件能够让英雄无限叠加生命值的新装备——心之钢 。对于变大变肉有着谜之执念的 $$$XPL$$$ 当然义无反顾地加入了钢门。

这天,$$$XPL$$$ 兴奋地对室友说自己刚玩了一把"爽局",室友好奇 $$$XPL$$$ 的英雄最终拥有多少生命值,粗心的 $$$XPL$$$ 却说他已经忘了。好在室友从他的游戏文件中找到了那一局的对局日志、英雄的初始生命值 $$$H_1$$$ 和成长生命值 $$$H_2$$$,所以我们可以借助这些信息计算出 $$$XPL$$$ 那一局最终的生命值,但是室友太菜了,所以向你寻求帮助,你可以告诉他答案吗?

一篇对局日志包含了 $$$m$$$ 个事件,且保证只会出现以下三种事件:

  1. mm:ss 1,表示英雄在 $$$mm$$$ 分 $$$ss$$$ 秒购买了心之钢,同时获得了心之钢的属性与被动技能。
    • 获得 $$$800$$$ 生命值。
    • 被动-庞然吞食:对敌方英雄的攻击会造成 $$$125+6\%$$$ 施法者当前生命值的伤害,并为你提供相当于$$$10\%$$$该伤害(向下取整)的生命值。该技能有 $$$30$$$ 秒冷却时间,且对于每个敌方英雄的冷却时间相互独立。举个例子,你于 $$$00$$$ 分 $$$01$$$ 秒对敌方英雄 $$$x$$$ 触发了心之钢,这个效果便在 $$$00$$$ 分 $$$02$$$ 秒 — $$$00$$$ 分 $$$30$$$ 秒对于敌方英雄 $$$x$$$ 处于冷却时间,同时不影响你对其余敌方英雄触发心之钢,直到 $$$00$$$ 分 $$$31$$$ 秒可再次对 $$$x$$$ 触发。

  2. mm:ss 2,表示英雄在 $$$mm$$$ 分 $$$ss$$$ 秒升了一级,同时获得了固定的成长生命值 $$$H_2$$$。举个例子,若英雄的当前生命值为 $$$1145$$$ 点,成长生命值为 $$$14$$$ 点,升级后的生命值就是 $$$1145 + 14 = 1159$$$ 点 。
  3. mm:ss 3 x,表示英雄在 $$$mm$$$ 分 $$$ss$$$ 秒攻击了第 $$$x$$$ 个敌方英雄。保证只存在5个敌方英雄,即 $$$1\le x\le 5$$$。
Input

第一行输入三个整数 $$$H_1\ (500\le H_1\le 1000)$$$ — 初始生命值,$$$H_2\ (1\le H_2\le 100)$$$ — 成长生命值,$$$m\ (0\le m\le 1000)$$$ — 事件的个数。

接下来 $$$m$$$ 行,第 $$$i$$$ 行输入一个字符串 $$$mm:ss\ (00:00\le mm:ss\le 60:00)$$$ — 时间线(保证分钟和秒钟都以两位整数的形式给出),一个整数 $$$type\ (1\le type\le 3)$$$ — 事件类型,若 $$$type\ =\ 3$$$ 则再输入一个整数 $$$x\ (1\le x\le 5)$$$ — 敌方英雄编号。

输入保证事件1只会出现至多一次,事件按时间顺序给出,且每秒只会发生一个事件。

Output

输出一个整数,表示对局最终英雄的生命值。

ExamplesInput
500 10 3
11:45 2
14:19 2
19:18 3 1
Output
520
Input
1000 100 7
00:00 2
00:30 3 1
01:00 1
01:30 2
01:40 3 1
01:45 3 2
01:50 3 1
Output
2048
Note

为了方便计算,触发心之钢提供的生命值都向下取整。如当前生命值为 $$$114514$$$,触发一次心之钢则会造成 $$$125\ +\ 0.06\ \times\ 114514\ =\ 125\ +\ 6870.84\ =\ 6995.84$$$ 的伤害,并提供 $$$\lfloor 6995.84\ \times \ 0.1\rfloor \ =\ \lfloor 699.584\rfloor =\ 699$$$ 的生命值。

加入题单

上一题 下一题 算法标签: