1257: E-⼩y拼楼梯
Memory Limit:128 MB
Time Limit:1.000 S
Judge Style:Text Compare
Creator:
Submit:27
Solved:0
Description
⾃从⼩y上次学会计算有多少种爬楼梯的⽅式后,又枯燥了起来。现在她⾃⼰拼接⾃⼰想要的楼梯,于是她就开始⾃⼰脑补拼接楼梯了。她在想,⾃⼰拥有⽆限个分别为 $a_1, a_2, a_3 ……a_k$($a_i < a_j$,其中i < j) 阶的⼩楼梯,她想拼出⼀个 N阶的楼梯最少需要多少块?
例如⼩y现在有分别为 1,2,4阶的⼩楼梯,想要拼出 10 阶的楼梯⾄少需要 3 块⼩楼梯,分别是 4 阶的⼩楼梯使⽤ 2 块,2 阶的⼩楼梯使⽤ 1 块,即 4+4+2=10
但是⼩y现在想破了脑袋也没想到怎么计算最少值,你能帮帮他吗?
如果⽆法拼出 N 阶则输出 "-_- !!"
Input
第⼀⾏包含两个正整数 N, k表⽰⼩y最要拼接的楼梯阶数,k 表⽰⼩楼梯的个数。
第⼆⾏包含 k个正整数$a_1, a_2, a_3 ……a_k$($a_i < a_j$,其中i < j),表⽰第 i 个⼩楼梯的阶数。
第⼆⾏包含 k个正整数$a_1, a_2, a_3 ……a_k$($a_i < a_j$,其中i < j),表⽰第 i 个⼩楼梯的阶数。
Output
如果能拼接出来,则输出最少需要的⼩楼梯块数。
否则输出 "-_-!!" ,(不输出引号)。
Sample Input Copy
10 3
1 2 4
Sample Output Copy
3
HINT
对于30%的数据:
$1e9 \leq n\leq1e16$,且这个范围的数据对于所有$a_i (i>1) $,都有 $ai$ 是 $a_{i-1}$ 的倍数(即 $a_i$ 能被 $a_{i-1}$ 整除)。
对于另外 70% 的数据中:
⼀半(35%)的数据: N≤1000,k≤5
全部(70%)的数据: N≤100000,k≤20
对于所有数据 $a_i$≤N。
$1e9 \leq n\leq1e16$,且这个范围的数据对于所有$a_i (i>1) $,都有 $ai$ 是 $a_{i-1}$ 的倍数(即 $a_i$ 能被 $a_{i-1}$ 整除)。
对于另外 70% 的数据中:
⼀半(35%)的数据: N≤1000,k≤5
全部(70%)的数据: N≤100000,k≤20
对于所有数据 $a_i$≤N。