#1611. 回文(palindrome)
回文(palindrome)
T3 回文(palindrome)
题目描述
小 C 有一个长度为 且由小写字母构成的字符串 。
小 C 现在可以对 做一些变换,但变换是需要代价的,将字母 变成 的代价为 ,其中 是一个长度为 的数组。(为了方便理解,规定字母 a 对应数字 ,字母 b 对应数字 ,以此类推)
小 C 在做上述变换前可以先选择两个位置并交换两个位置上的字母(该操作最多做一次且代价为 ),然后再将字母随意变换。
小 C 想要知道将 变成回文串的最小代价,保证 。
输入格式
输入第一行包含一个整数 ,表示字符串的长度。
输入第二行包含 个整数,表示代价数组 。
输入第三行包含一个字符串。
输出格式
输出共一行,表示将 变为回文串的最小代价。
样例 1 输入
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
样例 1 输出
0
样例 1 解释
在变换前将第 个字母与第 个字母进行交换, 变为 abaaba,已经是一个回文串,所以最小代价为 。
样例 2 输入
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 输出
2
样例 3 输入
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
样例 3 输出
9
其余样例见下发文件。
数据规模与约定
- 对于 的数据,保证 。
- 对于 的数据,保证 。
- 对于另 的数据,保证 ,。
- 对于 的数据,保证 ,, 是偶数。