#ARC194C. 翻转代价

翻转代价

翻转代价

时间限制:2s
空间限制:1024MB

题目描述

给定两个长度为 NN 的 01 序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N)、B=(B1,B2,…,BN)B=(B_1,B_2,\ldots,B_N),以及正整数序列 C=(C1,C2,…,CN)C=(C_1,C_2,\ldots,C_N)。

你可以对 AA 进行任意多次(也可以零次)以下操作:

  1. 选择一个下标 ii,翻转 AiA_i;
  2. 按翻转后的序列支付 ∑k=1NAkCk\sum_{k=1}^N A_kC_k 的费用。

求将 AA 变成 BB 所需支付的最小总费用。

输入格式

N
A_1 A_2 ... A_N
B_1 B_2 ... B_N
C_1 C_2 ... C_N

输出格式

输出最小总费用。

样例输入 1

4
0 1 1 1
1 0 1 0
4 6 2 9

样例输出 1

16

样例输入 2

5
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1

样例输出 2

0

样例输入 3

20
1 1 1 1 0 0 1 1 0 0 0 1 0 1 0 1 1 0 1 0
0 0 0 1 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0
52 73 97 72 54 15 79 67 13 55 65 22 36 90 84 46 1 2 27 8

样例输出 3

2867

数据范围

  • 1≤N≤2×1051\le N\le2\times10^5;
  • Ai,Bi∈{0,1}A_i,B_i\in\{0,1\};
  • 1≤Ci≤1061\le C_i\le10^6。
子任务编号 分值 特殊限制
1 10 A=BA=B
2 12 所有 CiC_i 相等
3 16 N≤12N\le12
4 18 不存在满足 Ai=Bi=1A_i=B_i=1 的下标
5 20 N≤2000N\le2000
6 24 无特殊限制