84 lines
1.9 KiB
Markdown
84 lines
1.9 KiB
Markdown
|
# 过河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$
|
|||
|
|
|||
|
子任务1(20分):$L\le 10^4$
|
|||
|
|
|||
|
子任务2(20分):$k=2$,保证 $gcd(x[1],x[2])=1$
|
|||
|
|
|||
|
子任务3(20分):$k=2$
|
|||
|
|
|||
|
子任务4(40分):无特殊限制
|
|||
|
|
|||
|
2s,512MB
|