bdfz_2024_summer/day10/U252456/U252456.md

1.9 KiB
Raw Permalink Blame History

过河2

题目描述

在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:$0,1,\cdots,L$(其中 L 是桥的长度)。坐标为 0 的点表示桥的起点,坐标为 L 的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。

给定一个正整数集合 $S$,一次跳跃的距离可在集合中任选 $x\in S$。

当青蛙跳到或跳过坐标为 L 的点时,就算青蛙已经跳出了独木桥。

给出独木桥的长度 $L$,青蛙跳跃距离的集合 $S$,桥上石子的位置。你的任务是确定青蛙要想过河,最少需要踩到的石子数。

输入格式

第一行有 1 个正整数 $L$,表示独木桥的长度。

第二行有 2 个正整数 $k,m$,分别代表跳跃距离的集合大小和石子个数。

第三行 k 个整数 x[1\sim k] 代表 S 中的数(不保证有序)。

第四行有 m 个不同的正整数分别表示这 m 个石子在数轴上的位置(数据保证桥的起点和终点处没有石子)。所有相邻的整数之间用一个空格隔开。

输出格式

一个整数,表示青蛙过河最少需要踩到的石子数。

样例 #1

样例输入 #1

10
2 5
2 3
2 3 5 6 7

样例输出 #1

2

样例 #2

样例输入 #2

见下发样例

样例输出 #2


样例 #3

样例输入 #3

见下发样例

样例输出 #3


提示

对于100%的数据,1\le L\le 10^9, 0<k\le 50, 1<x[i]\le 100, 0\le m\le 500

子任务120分L\le 10^4

子任务220分$k=2$,保证 gcd(x[1],x[2])=1

子任务320分k=2

子任务440分无特殊限制

2s512MB