问题背景
本故事纯属虚构,如有雷同,万分荣幸。
题目描述
卢卡斯最近在开发一款叫做《卢卡斯英雄传》的次世代游戏。在游戏里他设计了一个主人公。主人公有如下属性:
- 血量HP:一个整数,表示当前的血量(补充加血药可以提升血量,但不会超过血量上限);
- 魔法MP:一个整数,表示当前的魔法值(补充加蓝药可以提升魔法,但不会超过魔法上限);
- 等级LV:一个整数(等级越高血量上限和魔法值上限越高);
- 血量上限:血量上限 = 等级 ×100;
- 魔法上限:魔法上限 =100+ 等级 ×50。
一开始主人公的等级为 1,血量和魔法都等于其对应的上限。接下来会发生 n 个事件,每个事件都用一个整数 a 表示,对应的含义为:
- 当 a=1 时,表示主人公吃了一瓶加血药,血量上升了 100(血量最大不会超过血量上限,也就是说加入血量上限是 100,主人公当前血量是 70,那么喝了一瓶加血药之后血量会变成 100,而不是 170);
- 当 a=2 时,表示主人公吃了一瓶加魔药,魔法值上升了 100(魔法值最大不会超过魔法上限);
- 当 a=3 时,表示主人公被怪物攻击,血量下降了 60;
- 当 a=4 时,表示主人公释放了一个技能,消耗了 50 点魔法值(如果当前主人公拥有的魔法值不足 50,则相当于这一步没有进行任何操作);
- 当 a=5 时,表示主人公等级提高了一级,此时血量上限和魔法上限都相应改变,且血量恢复到血量上限,魔法值恢复到魔法上限。
当然有可能在 n 个事件发生的过程中主人公就因为血量变为 0 而提前游戏结束。所以你需要判断主人公是否能在存活的情况下完成这 n 个事件。
输入格式
输入的第一行包含一个整数 n(1≤n≤100),表示事件数。
接下来 n 行,每行包含一个整数 a(1≤a≤5),表示对应的事件。
输出格式
如果在 n 个事件发生的过程中主人公就因为血量变为 0 而结束游戏,输出一行 “Game Over”。
否则,输出一行,包含三个整数,以空格分隔,分别表示 n 个事件发生后主人公的等级、血量和魔法值。
样例
7
5
5
5
5
3
4
3
5 380 300
5
5
3
3
3
3
Game Over
说明/提示
样例 1 解释
- 一开始等级 =1,血量 =1×100=100,魔法=100+1×50=150;
- 第 1 步操作(a=5)后,等级提高到 1+1=2,血量 =2×100=200,魔法 =100+2×50=200;
- 第 2 步操作(a=5)后,等级提高到 2+1=3,血量 =3×100=300,魔法 =100+3×50=250;
- 第 3 步操作(a=5)后,等级提高到 3+1=4,血量 =4×100=400,魔法 =100+4×50=300;
- 第 4 步操作(a=5)后,等级提高到 4+1=5,血量 =5×100=500,魔法 =100+5×50=350;
- 第 5 步操作(a=3)后,血量下降为 500−60=440;
- 第 6 步操作(a=4)后,魔法下降为 350−50=300;
- 第 7 步操作(a=3)后,血量下降为 440−60=380。
所以最终的等级等于 5,血量等于 380,魔法等于 300。
样例 2 解释
- 一开始等级 =1,血量 =1×100=100,魔法=100+1×50=150;
- 第 1 步操作(a=5)后,等级提高到 1+1=2,血量 =2×100=200,魔法 =100+2×50=200;
- 第 2 步操作(a=3)后,血量下降为 200−60=140;
- 第 3 步操作(a=3)后,血量下降为 140−60=80;
- 第 4 步操作(a=3)后,血量下降为 80−60=20;
- 第 5 步操作(a=3)后,血量下降为 0(20−60=−40),“Game Over”。