题目内容
在一个自动化装配线上,机器人需要依次完成 T 项操作。每项操作都能获得基础分 P。此外,如果机器人连续成功完成操作,则会根据当前的连续成功次数 c 获得额外奖励分 c×Q。
具体规则如下:
- 初始时连续成功次数 c=0。
- 对于第 i 项操作,无论成功与否,机器人都会先获得 P+c×Q 分。
- 然后根据操作结果更新 c:
- 若操作成功,c 增加 1;
- 若操作失败,c 重置为 0。
给定操作的总次数以及每次操作的结果,请你计算机器人总共获得的分数。
约束条件:操作次数 T、基础分 P、奖励分 Q 均为正整数,且均不超过 10^5。
输入描述
第一行包含三个正整数 T,P,Q。
第二行包含一个长度为 T 的字符串,仅由字符 'o' 和 'x' 组成,其中 'o' 表示操作成功,'x' 表示操作失败。
输出描述
输出一个整数,表示机器人总共获得的分数。
样例1
输入
3 5 2
oxo
输出
17
说明
初始时连续成功次数 c = 0。
操作 1 对应 o:得分 P+c×Q=5+0×2=5,随后 c 增加为 1。
操作 2 对应 x:得分 5+1×2=7,随后 c 重置为 0。
操作 3 对应 o:得分 5+0×2=5。
总分为 5+7+5=17。
样例2
输入
4 2 3
oooo
输出
26
说明
所有操作均成功,连续成功次数会不断累积,额外奖励也逐渐增加。
操作 1:c=0,得分 2+0×3=2,c 变为 1。
操作 2:c=1,得分 2+1×3=5,c 变为 2。
操作 3:c=2,得分 2+2×3=8,c 变为 3。
操作 4:c=3,得分 2+3×3=11,c 变为 4。
总分为 2+5+8+11=26。
样例3
输入
3 10 10
xxx
输出
30
说明
所有操作均失败,c 始终为 0。每次得分均为 P=10。
操作 1:得分 10。
操作 2:得分 10。
操作 3:得分 10。
总分为 10×3=30。