#HK5482. 「UOI 2016 Stage 4 Day1」地铁
「UOI 2016 Stage 4 Day1」地铁
题目描述
题目译自 Ukrainian Olympiads in Informatics 2016 Stage 4 Day2 T2. Метро
猫国首都的市长终于同意在市内修建一个地铁网络。现在,他面临着一项极其重要的任务——尽可能地节省建设资金。
地铁网络将由若干个车站组成,这些车站通过双向隧道相连。任意一对车站之间都必须有隧道路径(可能需要经过其他车站),并且修建的隧道数量必须是最小可能的。请注意,在这些条件下,任意一对车站之间都存在唯一的路径。
乘客需要支付一定的费用才能在某个车站进入地铁。此外,不同车站的费用可能会有所不同。具体来说,对于某个车站 ,其进站费用(以格里夫纳为单位)等于从车站 出发到达任何其他车站 所需经过的最多隧道数量。
此外,市长对数字非常挑剔。据悉,市长喜欢数字 ,同时讨厌数字 。如果在所有车站的进站费用中,没有包含他所有喜欢的数字,或者包含了至少一个他讨厌的数字,市长就不会同意修建这个地铁。
请编写一个名为 metro 的程序,根据市长对数字的偏好,找出地铁网络可能包含的最少车站数量,或者判断出无法修建满足要求的网络。
输入格式
输入文件的第一行包含两个整数 和 ,分别是市长喜欢和讨厌的数字的数量。
第二行包含一个由空格分隔的 个整数的列表,表示市长喜欢的数字。
第三行以类似格式包含一个 个市长讨厌的数字的列表。
输出格式
在输出文件的唯一一行中,输出地铁网络可能包含的最少车站数量。如果无法修建满足要求的网络,则输出一个数字 。
2 3
4 7
13 1 3
8
2 1
4 7
6
-1
数据范围与提示
详细子任务附加限制及分值如下表所示:
| 子任务 | 分值 | 附加限制 |
|---|---|---|