HXOJ1136. 搭积木

提交2 通过2
通过率100%
时间限制2000ms
内存限制256MiB

题目描述

题目描述

小珅和小青在玩积木搭建游戏,小珅报一个数字 N,代表高楼的高度,小青则需要使用最少的积木搭建出高度大于 N 的高楼。

给出小珅所报出的数字 N,及每一块正方体积木的高度,请你帮助小青找出最少需要多少块积木可以搭建出高度大于 N 的高楼。

例如:N=12,正方体积木的高度分别为 4,7,8,4。则最少需要 2 块积木,可以使搭建的高楼高度大于12,2块积木为7和8。

输入格式

第一行输入两个整数 NN 和 KK,分别表示小珅报出的目标高度和积木的总块数,两个整数之间用一个空格分隔。

第二行输入 KK 个正整数,依次表示每块积木的高度,整数之间用一个空格分隔。保证所有积木高度之和大于 NN。

输出格式

输出最少需要使用多少块积木,可以搭建出高度大于 N 的高楼。

输入样例 1

14 4
4 7 8 4

输出样例 1

2

输入样例 2

5 1
6

输出样例 2

1

输入样例 3

7 4
1 1 1 10

输出样例 3

1

数据范围

  • 积木块数 KK 满足 1≤K≤1000001\le K\le 100000。
  • 0≤N≤10140\le N\le 10^{14},1≤hi≤1091\le h_i\le 10^9。
  • 保证所有积木高度之和大于 NN。