问题 3619 --魔法塔防

3619: 魔法塔防

题目描述

  塔防游戏(Tower Defence)是dd_engi非常喜爱的一类休闲游戏。在这类游戏中,玩家需要在地图上摆放各种防御单位,打击并阻止试图跨越地图的敌对单位。一般而言,敌对单位不会攻击防御单位,但若敌对单位未被防御单位消灭且成功跨越地图,玩家的生命数会减少。

dd_engi设计出了一种一维的塔防游戏,并将其命名为“魔法塔防”,规则如下:
游戏的地图是一行N个连续的魔法塔,其中行的一端是入口,另一端是出口,怪兽会从地图的一端向另一端移动。初始时,怪兽通过每个魔法塔的时间是T秒。玩家可以在这N个魔法塔中放置魔法师以对经过的怪兽造成伤害,每个魔法塔中最多放置一个魔法师,且放置好的魔法师不能改变位置。

共有三种不同属性的魔法师,分别是红色魔法师、蓝色魔法师和绿色魔法师,作用分别是攻击、减速以及下毒。当怪兽经过一个红色魔法师所在的魔法塔时,每秒钟生命值会减少R点;当怪兽从一个蓝色魔法师所在的魔法塔走出之后,通过每个魔法塔的时间延长B秒;当怪兽从一个绿色魔法师所在的魔法塔走出之后,每秒钟会因中毒失去G点生命值。蓝色魔法师的减速效果和绿色魔法师的下毒效果是可以累加的。也就是说,怪兽通过n个蓝色魔法师所在的魔法塔之后,它通过每个魔法塔的时间会变成T+B*n秒;怪兽通过n个绿色魔法师所在的魔法塔之后,它每秒钟会因中毒失去G*n点生命值。

现在,你的任务是,在这N个魔法塔里放置各种类型的魔法师,使通过的怪兽失去的生命值最大。输出这个最大值。

输入

一行,五个空格隔开的整数N、R、G、B、T。

输出

只需输出一行一个整数,即通过的怪兽失去的最大的生命值。

样例输入输出

输入#1 复制
5 4 3 2 1
输出#1 复制
82

提示

20%的数据满足N< =12。 
50%的数据满足N< =100。 
100%的数据满足1< =N< =1024;  0  < =  R,  G,  B  < =  65536;  0  < =  T  < =  3。

序号 标题 作者 发表时间 费用 订购数 操作