#1091. 2-02F. JM的数据中心

内存限制:512 MiB 时间限制:750 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: JM233333

题目描述

最近JM的数据中心经常发生错误,因此他雇佣你作为数据中心的高级管理员,每次数据发生错误时,你都必须将损失降到最低,否则JM不仅会扣你的工资,甚至会把你抓去喂qz。

JM的数据中心可以看作是一个 nn 位的二进制数 bb 。某次发生错误,这个二进制数会变成 aa ,它仍然是 nn 位的,但会有若干位与 bb 不同。当然,运气好的话可能恰好还是和 bb 一样。现在你需要以最小的代价将 aa 恢复成 bb

你每秒可以进行一次修复操作,将某 11aia_i 反转,每次操作之后,你将付出 i=1naici\sum_{i = 1}^{n}{a_ic_i} 的代价,其中 ai{0, 1}a_i \in \{0,\ 1\}cic_i 是第 ii 位的价值。请你给出将数据恢复所需的最小总代价。

输入格式

第一行一个正整数 nn 表示二进制数的位数。

第二行 nn 个正整数 cic_i 表示每一位的价值。

第三行一个长为 nn 的01串 aa

第四行一个长为 nn 的01串 bb

输出格式

输出一行一个非负整数表示答案。

样例

样例输入

4
12 22 3 9
1011
0010

样例输出

15

数据范围与提示

1n100001 \le n \le 10000

1ci1091 \le c_i \le 10^9

Hint

对于样例,先把 a1a_1 翻转,付出代价 3+9=123 + 9 = 12 ,然后把 a4a_4 翻转,付出代价 33 ,总代价为 1515

本题可以用 O(n2)O(n^2) 的算法AC,但是用 O(n2logn)O(n^2\log{n}) 的算法可能会被卡TLE。