#JXGQ26002C. 回文交换
回文交换
题目描述 (pdstring)
强哥有一个长度为 且由小写字母构成的字符串 。
强哥现在可以对 做一些修改,但修改是需要代价的,将字母 变成 的代价为 ,其中 是一个长度为 的数组。(为了方便理解,规定字母 a 对应数字 ,字母 b 对应数字 ,以此类推)
强哥在做上述修改前可以先选择两个位置并交换两个位置上的字母(该操作最多做一次且代价为 ),然后再将字母随意修改。
强哥想要知道将 变成回文串的最小代价,保证 能被 整除。
输入格式(pdstring.in)
输入第一行包含一个整数 ,表示字符串的长度。
输入第二行包含 个整数,表示代价数组 。
输入第三行包含一个字符串 。
输出格式(pdstring.out)
输出共一行,表示将 变为回文串的最小代价。
6
5 3 2 4 7 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 7
abbaaa
0
样例 1 解释
在修改前将第 个字母与第 个字母进行交换, 变为 abaaba,已经是一个回文串,所以最小代价为 。
6
5 3 2 4 7 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 7
bbbaaa
2
20
5 3 2 4 7 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 6 2 5 1 4 7
luotianyirainybunnyl
9
数据规模与约定
- 对于 的数据,保证 。
- 对于 的数据,保证 。
- 对于另 的数据,保证 ,。
- 对于 的数据,保证 ,, 是偶数。
相关
在下列比赛中: