zz来到城堡前, 他必须输入密码才能进入城堡。
城堡密码的输入设备有点特别。输入设备是一个1×n的矩形,分为n个正方形面板。它们从左到右编号为1到n。每个面板都有一个开或关的状态。最初,所有面板都处于关闭状态。
zz可以进入城堡当且仅当 x1-th, x2-th, ..., xk-th 面板处于打开状态,其他面板处于关闭状态。
zz得到一个数组a1,...,ai。在每一步中,她可以执行以下操作:选择一个索引i(1≤i≤l),选择连续的ai面板,并翻转那些面板的状态(即开→关,关→开)。
不幸的是,她忘记了如何用上述操作输入密码。确定进入她的城堡所需的最少操作次数。
输出键入密码所需的最少移动次数。如果不可能,打印-1。
输入:
10 8 2
1 2 3 5 6 7 8 9
3 5
输出:
2
输入:
3 2 1
1 2
3
输出:
-1
在第一个示例中键入密码的一种可能方法如下:在第一步中,选择第一、第二、第三个面板并翻转这些面板。在第二步中,选择第5、第6、第7、第8、第9个面板,然后翻转这些面板。
10 8 2
1 2 3 5 6 7 8 9
3 5
2