#P1249. 越野跑(racing)

越野跑(racing)

题目描述

为了能在下一次跑步比赛中有好的发挥,贝茜在一条山路上开始了她的训练。贝茜希望能在每次训练中跑得尽可能远,不过她也知道农场中的一条规定: 奶牛独自进山的时间不得超过M秒。

整条山路被贝茜划分成 T 个长度相同的小段,并且,贝茜用 SiS_i 表示第 i 个小段的路况。SiS_i 为 u , f, d 这 3 个字母之一,它们分别表示第 i 个小段是上坡、平地,或是下坡。

贝茜要花 U 秒才能跑完一段上坡路,跑完一段平地的耗时是 F 秒,跑完一段下坡路要花 D 秒。注意,沿山路原路返回的时候,原本是上坡路的路段变成了下坡路,原本是下坡路的路段变成了上坡路。

贝茜想知道,在能按时返回农场的前提下,她最多能在这条山路上跑多远。

输入格式

第 1行: 5 个用空格隔开的整数: M , T , U , F , 以及 D

第 2..T+1 行: 第 i+1 行为 1 个字母 SiS_i ,描述了第 i 段山路的路况

数据范围
1 <= M <= 10,000,000
1 <= T <= 100,000
1 <= F <= 100
1 <= D <= 100
1 <= U <= 100

输出格式

1 个整数,为贝茜在按时回到农场的前提下,最多能跑到多远。

样例

13 5 3 2 1
u
f
u
d
f
3

样例解释

贝茜跑步的最大耗时为 13 秒(这么短...), 她跑步的山路一共被划成5段。贝茜跑完一段上坡路的耗时为3秒,平地为2秒,下坡路为1秒。山路各段的走向如下图所示:

  __/\_
/

贝茜跑完山路的前 3 段,然后返回,总耗时为 3 + 2 + 3 + 1 + 2 + 1 = 12 秒,只比她能在外面呆的时限少 1 秒。如果她跑得更远,就无法按时回到农场。