alice 打算坐公交车从 A 市出发前往 m 公里外的 B 市,在 A 市和 B 市之间有一个 公交车总站,总站离 A 市有 d 公里,一共有 n 趟公交车,每辆车都从车站出发,第 i 辆 车行驶的最大距离是 xi ,公交车后可以按任意方向走,且最终不需要回到车站。
alice 可以在任意位置换车,现在他想知道从 A 市去到 B 市最少需要多少辆车。
alice 打算坐公交车从 A 市出发前往 m 公里外的 B 市,在 A 市和 B 市之间有一个 公交车总站,总站离 A 市有 d 公里,一共有 n 趟公交车,每辆车都从车站出发,第 i 辆 车行驶的最大距离是 xi ,公交车后可以按任意方向走,且最终不需要回到车站。
alice 可以在任意位置换车,现在他想知道从 A 市去到 B 市最少需要多少辆车。
第一行输入 m, d, n 。
第二行输入 n 个整数 x1, x2, ..., xn 。
42 23 6
20 25 14 27 30 7
4
【样例 1 解释】
现假设 A 市的位置为 0 ,公交车站距离 A 市 23 公里,B 市距离 A 市 42 公里。
选第 5 辆车,从车站去 alice 的位置再折返,会把人送到 7 公里的位置。
选第 4 辆车,从车站去 alice 的位置再折返,会把人送到 18 公里的位置。
选第 2 辆车,从车站去 alice 的位置再折返,会把人送到 33 公里的位置。
选第 1 辆车,从车站直接往 B 市方向走,顺路接上 alice ,可以把人送到 B 市。
【数据范围】
数据约束和子任务
对于 100% 的数据,有 1 ≤ d ≤ m ≤ 10^18
, 1 ≤ n ≤ 500000, 1 ≤ xi ≤ 10^18 。