旅途的终点
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

在某大陆上面有 n 个国家,作为旅行者兼冒险家的你想以一种既定的路线(即从1到  )去畅游这 n 个国家,但由于这 n 个国家并不太平,因此每到一个国家你都需要消耗 a_i 点的生命力来帮助这个国家重回往日的安宁然后再进行畅游。不过天生拥有神力的你却有 k 次释放神力的机会来帮助这个国家恢复安宁,且释放神力时不消耗任何生命力。你在旅行前拥有 m 点的生命力,若你在旅途中不幸用完全部的生命力,则便会回到你诞生的地方陷入沉睡。现在请问你最多可以畅游多少个国家。注意:若在当前国家消耗完生命力则意味着你并没有畅游该国家。

输入描述:

输入包含 2 行。
第一行三个正整数 n,m,k(1≤n≤2^5,1≤m≤10^{18},0≤k≤2*10^5) ,分别代表国家的个数,你拥有的初始生命力,你可以释放神力的次数。
第二行包含  个正整数,第  个正整数  代表你不释放神力帮助第  个国家需要消耗的生命力的大小。

输出描述:

输出包含一行,共一个数,表示你能畅游的国家的个数。
示例1

输入

复制
3 10 1
11 2 1

输出

复制
3
示例2

输入

复制
1 10 0
10

输出

复制
0

备注:

注意: 可能会超过64位整数范围。