CF79D Password
题目描述
终于,Fox Ciel 来到了她的城堡前!
她需要输入密码才能进入城堡。可是,城堡配置的输入设备有些不同寻常。
该输入设备是一个 $1 \times n$ 的矩形,被分为 $n$ 个方形面板,这些面板从左到右依次编号为 $1$ 到 $n$。每个面板有两种状态,ON 或 OFF。最初,所有面板都处于 OFF 状态。只有当第 $x_1$、$x_2$、⋯、$x_k$ 个面板为 ON,其余面板为 OFF 时,她才能进入城堡。
她得到一个数组 $a_1,a_2,\ldots,a_l$。在每一步操作中,她可以选择一个下标 $i$($1 \leq i \leq l$),再选择连续的 $a_i$ 个面板,将这 $a_i$ 个面板的状态全部翻转(即 ON 变为 OFF,OFF 变为 ON)。
遗憾的是,她忘记了如何只用上述操作来输入密码。请你帮她计算,至少需要多少次操作才能成功进入城堡。
输入格式
第一行包含三个整数 $n$、$k$、$l$($1 \leq n \leq 10000, 1 \leq k \leq 10, 1 \leq l \leq 100$),用空格隔开。
第二行包含 $k$ 个递增的整数 $x_1,x_2,\ldots ,x_k$($1 \leq x_1 < x_2 < \cdots < x_k \leq n$),用空格隔开。
第三行包含 $l$ 个整数 $a_1,a_2,\ldots,a_l$($1 \leq a_i \leq n$),用空格隔开。数组 $a_i$ 中可能有数值相同的元素。
输出格式
输出输入密码所需的最少操作次数。如果无法完成,输出 $-1$。
说明/提示
以下是第一个样例的可能方案:第一次操作选择第 $1$、$2$、$3$ 个面板并将其翻转。第二次操作选择第 $5$ 到第 $9$ 个面板并将其翻转。
由 ChatGPT 5 翻译