#GDCPCA. 字符修改
字符修改
问题描述
给您一个长度为 的字符串 ,由 0
和 1
组成。
由 0
和 1
组成的长度为 的字符串 是好字符串,当且仅当它满足以下条件:
- 恰好有一个整数 ,满足第 和第 个字符相同。
对于每个 ,您可以选择是否执行一次以下操作:
- 如果 的第 个字符是
0
,将其替换为1
,反之亦然。此操作(如果执行)的成本为 。
问,使 成为好字符串所需的最小总成本。
输入格式
第一行是一个整数 ,第二行是一个字符串 ,第三行有 个数,第 个数 表示替换第 个数的成本。
- 是一个长度为 的字符串,仅含
0
和1
- 和 都是整数
输出格式
输出使 成为好字符串所需的最小总成本。
5
00011
3 9 2 6 4
7
对 i=1,5 执行该操作,而对 i=2,3,4 不执行该操作,则会生成 S= 10010,这是一个好的字符串。在这种情况下产生的成本是 7 ,并且不可能使 S 成为低于 7 的好字符串,因此输出 7 。
4
1001
1 2 3 4
0
11
11111100111
512298012 821282085 543342199 868532399 690830957 973970164 928915367 954764623 923012648 540375785 925723427
2286846953