跳高
题号:NC220737
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在新的一年,牛牛想跳得更高。牛牛本身可以跳高米。同时牛牛有颗跳高弹,使用第颗跳高弹可以使牛牛跳高高度增加a_i米,且跳高弹的效果是可以叠加的,也就是说如果牛牛使用多颗跳高弹,那么他的跳高高度将会增加这些跳高弹单个效果的和。

每颗跳高弹只能使用一次。

请问牛牛最少需要使用多少个跳高弹,才能让牛牛的高度至少是米高呢?

数据保证答案存在。

输入描述:

第一行三个整数
第二行n个整数a_1,...,a_n

输出描述:

输出一个整数,表示答案。
示例1

输入

复制
3 2 5
1 3 2

输出

复制
1

说明

只需要使用第2颗跳高弹就可以到达5米。
示例2

输入

复制
4 2 10
1 2 3 4

输出

复制
3

说明

使用第1,3,4颗跳高弹,或者使用第2,3,4颗跳高弹。 
示例3

输入

复制
4 10 9
1 2 3 4

输出

复制
0

说明

不需要使用跳高弹。