#HK5482. 「UOI 2016 Stage 4 Day1」地铁

「UOI 2016 Stage 4 Day1」地铁

题目描述

题目译自 Ukrainian Olympiads in Informatics 2016 Stage 4 Day2 T2. Метро

猫国首都的市长终于同意在市内修建一个地铁网络。现在,他面临着一项极其重要的任务——尽可能地节省建设资金。

地铁网络将由若干个车站组成,这些车站通过双向隧道相连。任意一对车站之间都必须有隧道路径(可能需要经过其他车站),并且修建的隧道数量必须是最小可能的。请注意,在这些条件下,任意一对车站之间都存在唯一的路径。

乘客需要支付一定的费用才能在某个车站进入地铁。此外,不同车站的费用可能会有所不同。具体来说,对于某个车站 XX,其进站费用(以格里夫纳为单位)等于从车站 XX 出发到达任何其他车站 YY 所需经过的最多隧道数量。

此外,市长对数字非常挑剔。据悉,市长喜欢数字 A1,,ANA_1, \dots, A_N,同时讨厌数字 B1,,BMB_1, \dots, B_M。如果在所有车站的进站费用中,没有包含他所有喜欢的数字,或者包含了至少一个他讨厌的数字,市长就不会同意修建这个地铁。

请编写一个名为 metro 的程序,根据市长对数字的偏好,找出地铁网络可能包含的最少车站数量,或者判断出无法修建满足要求的网络。

输入格式

输入文件的第一行包含两个整数 NNMM,分别是市长喜欢和讨厌的数字的数量。

第二行包含一个由空格分隔的 NN 个整数的列表,表示市长喜欢的数字。

第三行以类似格式包含一个 MM 个市长讨厌的数字的列表。

输出格式

在输出文件的唯一一行中,输出地铁网络可能包含的最少车站数量。如果无法修建满足要求的网络,则输出一个数字 1-1

2 3
4 7
13 1 3

8

2 1
4 7
6

-1

数据范围与提示

详细子任务附加限制及分值如下表所示:

子任务 分值 附加限制
11 5050 1N,M,Ai,Bi20001 \leq N, M, A_i, B_i \leq 2000
22 5050 1N,M,Ai,Bi1000001 \leq N, M, A_i, B_i \leq 100000