luogu#P12189. [蓝桥杯 2025 省 Java A/研究生组] 甘蔗

[蓝桥杯 2025 省 Java A/研究生组] 甘蔗

题目描述

小蓝种了一排甘蔗,甘蔗共 nn 根,第 ii 根甘蔗的高度为 aia_i。小蓝想砍一些甘蔗下来品尝,但是他有强迫症,不希望甘蔗的高度显得乱糟糟的。具体来说,他给出了一个大小为 mm 的整数集合 B={b1,b2,,bm}B = \{b_1, b_2, \cdots, b_m\},他希望在砍完甘蔗后,任意两根相邻的甘蔗之间的高度差 aiai+1|a_i - a_{i+1}| 都要在这个集合 BB 中。小蓝想知道他最少需要砍多少根甘蔗(对于高度为 hh 的甘蔗,他可以将其砍成 xx 高度的甘蔗,x{0,1,2,,h1}x \in \{0, 1, 2, \cdots, h-1\})。

输入格式

输入的第一行包含两个正整数 n,mn, m,用一个空格分隔。

第二行包含 nn 个正整数 a1,a2,,ana_1, a_2, \cdots, a_n,相邻整数之间使用一个空格分隔。

第三行包含 mm 个正整数 b1,b2,,bmb_1, b_2, \cdots, b_m,相邻整数之间使用一个空格分隔。

输出格式

输出一行包含一个整数表示答案。如果不能满足条件,输出 1-1

6 3
6 7 3 4 9 12
2 3 5
2
2 1
4 5
6
-1

提示

样例说明 1

其中一种方案:将 a2a_2 砍为 33,再将 a3a_3 砍为 11

评测用例规模与约定

  • 对于 40%40\% 的评测用例,1n,m81 \leq n, m \leq 8
  • 对于所有评测用例,1n,m5001 \leq n, m \leq 5001ai10001 \leq a_i \leq 10000bi10000 \leq b_i \leq 1000