#P3550. [POI 2013] TAK-Taxis

[POI 2013] TAK-Taxis

题目描述

Byteasar 想从 Bytehole 镇乘坐出租车前往 Bytepit 镇,两镇之间的距离为 mm 公里。

在从 Bytehole 镇前往 Bytepit 镇的途中,距离 Bytehole 镇恰好 dd 公里处,有一个停有 nn 辆出租车的基地,这些出租车编号为 1 到 nn

其中,第 ii 辆出租车的燃油量足够行驶恰好 xix_i 公里。

Byteasar 可以在任意地点换乘出租车。

所有出租车均从基地出发,且无需返回基地。

你的任务是判断 Byteasar 能否从 Bytehole 镇抵达 Bytepit 镇;若能抵达,求出完成这段行程所需的最少出租车数量。

输入格式

标准输入的第一行包含三个整数 mmddnn1dm10181 \le d \le m \le 10^{18}1n5000001 \le n \le 500000),整数之间用单个空格分隔。

它们分别表示:Bytehole 镇到 Bytepit 镇的距离、Bytehole 镇到出租车基地的距离、基地内出租车的数量。

输入的第二行包含 nn 个整数 x1,x2,,xnx_1, x_2, \cdots, x_n1xi10181 \le x_i \le 10^{18}),整数之间用单个空格分隔。

其中 xix_i 表示第 ii 辆出租车最多能行驶的距离(单位:公里)。

输出格式

你的程序应向标准输出打印一个整数:

即 Byteasar 从 Bytehole 镇到 Bytepit 镇所需的最少出租车数量。若无法抵达,则输出 00

42 23 6
20 25 14 27 30 7

4

提示

提示:此题需开 long long