问题 C:回文解密未启用
文件提交:无需freopen
内存限制:128 MB
时间限制:1.000 S
评测方式:普通裁判
金币值:
命题人:
提交:2
解决:0
题目描述
小明最近迷上了解密古代文字的研究。他发现了一块古代石头,上面刻着一个长度为 N 的小写字母字符串 S ,它可能隐藏着某个重要信息。
为了破解这个信息,小明发现他可以通过付出一定代价来操作这个字符串:
-
付出 A 元,可以将字符串 S 的第一个字符移到最后位置。例如,将 abc 变为 bca 。
-
付出 B 元,可以选择字符串 S 中的任意一个字符,然后将其替换为其他小写字母。例如,将 acb 变为 adb 。
小明想知道,要把这个字符串 S 变成一个回文串,至少需要花费多少元?
注意: 回文串是正读和反读都一致的字符串,比如 aba 和 abcba 都是回文串。
请你帮助小明计算一下最小的花费。
输入
第一行包含三个整数 N、A、B,分别表示字符串 S 的长度,操作 1 和操作 2 的花费。
第二行包含一个长度为 N 的字符串 S,仅包含小写字母。
输出
输出一个整数,表示将字符串 S 变成回文串的最小花费。
样例输入
5 1 2
rrefa
样例输出
3
提示
更多样例
输入
8 1000000000 1000000000 bcdfcgaa
输出
4000000000
输入
5 1 2 rrerr
输出
0
【样例 1 解释】
首先,支付 2 元执行第二种操作一次:让 i=5,将{S_5} 替换为 e 。此时,S 现在是 rrefe。
然后,支付 1 元执行第一种操作一次。现在,S 是refer,这是一个回文。
因此,你可以用 3 元将 S 变成回文。由于你不能用 2 元或更少的钱使 S 成为回文,所以答案是 3 。
【样例 2 解释】
需要支付 4000000000 元,可以变成回文串。
【样例 3 解释】
由于输入的字符串就是回文,所以需要支付 0 元。
【数据范围】
对于 40% 的数据,1 <= N <= 800。
对于 100% 的数据,1 <= N <= 5000,1 <= A,B <= 10^9。