3041: 翻转硬币

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:2 解决:0

题目描述

n枚硬币正面朝上摆成一排,给定 a[1], a[2], …, a[m],每次操作可以翻转连续 a[i] 个硬币。要求经过最少次数的操作,使得仅第 x[1], x[2], …, x[k] 枚硬币反面朝上,输出最少次数。

输入

第一行三个整数 n, k, m。

第二行 k 个整数表示需要反面朝上的硬币位置,从 1 编号。

第三行 m 个整数表示 a[1], a[2], …, a[m]

输出

一个整数表示答案,若无解,则输出 -1。

样例输入 复制

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

样例输出 复制

2

提示

对于30%的数据,n,m<=10

对于60%的数据,m<=20

对于100%的数据,1<=n<=10000,1<=k<=10,1<=m<=100,1<=a[i]<=n