101904: [AtCoder]ABC190 E - Magical Ornament

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:22 Solved:0

Description

Score : $500$ points

Problem Statement

There are $N$ kinds of magical gems, numbered $1, 2, \ldots, N$, distributed in the AtCoder Kingdom.
Takahashi is trying to make an ornament by arranging gems in a row.
For some pairs of gems, we can put the two gems next to each other; for other pairs, we cannot. We have $M$ pairs for which the two gems can be adjacent: (Gem $A_1$, Gem $B_1$), (Gem $A_2$, Gem $B_2$), $\ldots$, (Gem $A_M$, Gem $B_M$). For the other pairs, the two gems cannot be adjacent. (Order does not matter in these pairs.)
Determine whether it is possible to form a sequence of gems that has one or more gems of each of the kinds $C_1, C_2, \dots, C_K$. If the answer is yes, find the minimum number of stones needed to form such a sequence.

Constraints

  • All values in input are integers.
  • $1 ≤ N ≤ 10^5$
  • $0 ≤ M ≤ 10^5$
  • $1 ≤ A_i < B_i ≤ N$
  • If $i ≠ j$, $(A_i, B_i) ≠ (A_j, B_j)$.
  • $1 ≤ K ≤ 17$
  • $1 ≤ C_1 < C_2 < \dots < C_K ≤ N$

Input

Input is given from Standard Input in the following format:

$N$ $M$
$A_1$ $B_1$
$A_2$ $B_2$
$\hspace{7mm}\vdots$
$A_M$ $B_M$
$K$
$C_1$ $C_2$ $\cdots$ $C_K$

Output

Print the minimum number of stones needed to form a sequence of gems that has one or more gems of each of the kinds $C_1, C_2, \dots, C_K$.
If such a sequence cannot be formed, print -1 instead.


Sample Input 1

4 3
1 4
2 4
3 4
3
1 2 3

Sample Output 1

5

For example, by arranging the gems in the order $[1, 4, 2, 4, 3]$, we can form a sequence of length $5$ with Gems $1, 2, 3$.


Sample Input 2

4 3
1 4
2 4
1 2
3
1 2 3

Sample Output 2

-1

Sample Input 3

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

Sample Output 3

11

For example, by arranging the gems in the order $[1, 6, 7, 5, 8, 3, 9, 3, 8, 10, 2]$, we can form a sequence of length $11$ with Gems $1, 2, 7, 9$.

Input

题意翻译

AtCoder 王国流通着 $N$ 种魔法石,编号为 $1,2,\dots,N$。高桥想要把魔法石排成一列做成装饰品。 有的魔法石能够相邻放在一起,有的魔法石却不行。有 $M$ 组魔法石是可以相邻的,分别是 $ ( $魔法石 $ A_1, $ 魔法石 $ B_1),\ ( $魔法石 $ A_2, $ 魔法石 $ B_2),\ \dots,\ ( $魔法石 $ A_M, $ 魔法石 $ B_M) $。除此之外的任何两个魔法石都不能相邻摆放。(可以相邻的魔法石摆放前后顺序不限。) 请判断是否存在这样一种排列方式,使得其中包含 $ C_1,C_2,\dots,C_K $ 中的每一种魔法石。如果存在,求形成这样一个序列所需的最小宝石数量。如果不存在,输出 `-1`。

加入题单

上一题 下一题 算法标签: