#P9540. 「AWOI Round 2 C」数组操作?数组操作!

「AWOI Round 2 C」数组操作?数组操作!

题目描述

给定两个长度为 nn 的数组 a,ba,b ,将它们合并得到一个长度为 2×n2\times n 的数组 cc

aa 数组第 ii 个元素合并后位于 cc 数组第 lbilb_i 个位置,bb 数组第 ii 个元素合并后位于 cc 数组第 lcilc_i 个位置,合并后需要满足:lb1<lb2<...<lbn1<lbnlb_1 < lb_2 < ...< lb_{n-1} < lb_nlc1<lc2<...<lcn1<lcnlc_1 < lc_2< ...< lc_{n-1}< lc_n,即两个数组中元素的相对位置不变。

合并过后,你需要对 cc 数组进行下面操作:

  1. 变换操作:选择一个区间 [l,r][l,r],对于每一个 i[l,r]i \in [l,r],如果 cic_iyy,则将其变成一个不同于 yy 的数,否则将其变为 yy
  2. 翻转操作:选择一个区间 [l,r][l,r],翻转该数组区间中的数。此操作必须刚好操作 zz 次。

请输出最少需要执行多少次变换操作才能使得 cc 数组中的数字都为 yy

输入格式

第一行包含三个整数 n,y,zn,y,z

第二行包含 nn 个整数,代表 aa 数组中的元素。

第三行包含 nn 个整数,代表 bb 数组中的元素。

输出格式

一个正整数,表示答案。

5 1 1
1 1 45 1 4
1 9 1 9 810
1
20 0 3
1 0 0 8 6 10 0 8 6 1 0 0 86 1 0 0 8 6 0 0
5 2 0 1 3 1 4 52 0 13 14 0 1 0 1 0 4 0 5 0
4
3 2 4
110 105 117
99 108 98
1

提示

【样例说明】

对于样例 11,令 cc{1,1,1,9,45,1,1,9,4,810}\{1,1,1,9,45,1,1,9,4,810\}

其中 $c_1=a_1,c_2=b_1,c_3=a_2,c_4=b_2,c_5=a_3,c_6=a_4,c_7=b_3,c_8=b_4,c_9=a_5,c_{10}=b_5$。满足要求。

然后翻转区间 [4,7][4,7]cc 数组变为 {1,1,1,1,1,45,9,9,4,810}\{1,1,1,1,1,45,9,9,4,810\}

接着执行变换操作,将 [6,10][6,10] 中的数全部变成 11

所以最少只需要一次变换操作,可以证明没有比该方法更优的策略。

【数据规模】

请注意本题特殊的时间限制,并使用更快的 IO 方式。

本题使用捆绑测试。

子任务编号 nn\leqslant 特殊性质 分值
11 55 2020
22 10610^6 z>nz>n 55
33 特殊性质 A 1010
44 z=0z=0 2525
55 4040

特殊性质 A:保证两个数组中的元素都为 yy 或都不为 yy

对于全部数据,保证 0y,z1090 \leqslant y,z \leqslant 10^9,输入数据全部在 int 范围内。