#ARC189C. 球与箱子

    ID: 1676 传统题 3000ms 512MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>提高动态规划最长公共子序列最长上升子序列图论

球与箱子

球与箱子

时间限制:3s
空间限制:512MB

题目描述

有 NN 个箱子。对于 i=1,2,…,Ni=1,2,\ldots,N,第 ii 个箱子中初始有 AiA_i 个红球和 BiB_i 个蓝球。

另给定两个 (1,2,…,N)(1,2,\ldots,N) 的排列 P=(P1,P2,…,PN)P=(P_1,P_2,\ldots,P_N) 与 Q=(Q1,Q2,…,QN)Q=(Q_1,Q_2,\ldots,Q_N)。

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

  1. 选择一个满足 1≤i≤N1\le i\le N 的整数 ii,从第 ii 个箱子中取出所有球并拿在手中;
  2. 将手中的所有红球放入第 PiP_i 个箱子;
  3. 将手中的所有蓝球放入第 QiQ_i 个箱子。

你的目标是使除第 XX 个箱子外的所有箱子都为空。请判断能否达到目标;若能,求所需操作次数的最小值。

输入格式

输入共五行。

第一行包含两个整数 N,XN,X。

第二行包含 NN 个整数 A1,A2,…,ANA_1,A_2,\ldots,A_N。

第三行包含 NN 个整数 B1,B2,…,BNB_1,B_2,\ldots,B_N。

第四行包含排列 P1,P2,…,PNP_1,P_2,\ldots,P_N。

第五行包含排列 Q1,Q2,…,QNQ_1,Q_2,\ldots,Q_N。

输出格式

若无法使除第 XX 个箱子外的所有箱子都为空,输出 -1;否则输出所需操作次数的最小值。

样例输入 1

5 3
0 1 0 1 0
0 0 1 0 1
4 1 2 3 5
3 4 5 2 1

样例输出 1

4

样例输入 2

5 3
0 0 0 0 0
0 0 0 0 0
4 1 2 3 5
3 4 5 2 1

样例输出 2

0

样例输入 3

2 2
1 1
1 1
1 2
1 2

样例输出 3

-1

样例输入 4

10 10
0 0 0 0 0 0 1 0 1 0
0 0 0 0 1 1 0 0 1 0
1 4 9 5 8 2 3 6 10 7
7 4 9 10 6 3 1 2 8 5

样例输出 4

8

数据范围

  • 2≤N≤2×1052\le N\le 2\times 10^5;
  • 0≤Ai,Bi≤10\le A_i,B_i\le 1;
  • P,QP,Q 均为 (1,2,…,N)(1,2,\ldots,N) 的排列;
  • 1≤X≤N1\le X\le N;
  • 输入中的所有数均为整数。
子任务编号 分值 特殊限制
1 10 N≤8N\le 8
2 14 P=QP=Q
3 16 对所有 ii 均有 Bi=0B_i=0
4 20 N≤2000N\le 2000
5 40 无特殊限制