【题目背景】
完成沉没遗迹的测绘后,Gioush 大队将能够安全带走的能量样本送回了主营地。为了避免不稳定的样本耗尽装置中的能量,CodeDay 需要重新决定处理这些样本的方式。
【题目描述】
检测装置中最初存有 h 单位能量。传送带上依次经过 n 份样本,第 i 份样本具有一个整数 ai。
当第 i 份样本经过时,CodeDay 可以选择跳过它,也可以对它进行一次获取。若选择获取,检测装置中的能量会增加 ai。这里 ai 可以为负数,表示处理这份样本需要消耗能量。
所有样本只能按照传送带上的先后顺序处理。进行每次获取后,检测装置中的能量都不能小于 0。
CodeDay 希望完成尽可能多次获取。请你求出最多能够获取多少份样本。
【输入格式】
从文件 select.in 中读入数据。
本题包含多组测试数据。
输入的第一行包含两个非负整数 c,T,分别表示测试点编号与测试数据的组数。c=0 表示该测试点为样例。
对于每组测试数据:
第一行包含两个整数 n,h,分别表示样本数量与检测装置的初始能量。
第二行包含 n 个整数 a1,a2,…,an,依次表示每份样本带来的能量变化。
【输出格式】
输出到文件 select.out 中。
对于每组测试数据输出一行一个整数,表示最多能够完成的获取次数。
{{ render(json.dumps('\clearpage'), 'noi') }}
【样例 1 输入】
10 325 33-4 2 -1 -2 346 054 -5 2 -1 -1 -164 17-1 -1 0 -1
【样例 1 输出】
【说明/提示】
【样例 1 解释】
第一组测试数据可以跳过第一份样本,再依次获取其余 4 份样本,处理过程中能量始终不小于 0。
【样例 2】
见选手目录下的 select/select2.in 和 select/select2.ans。
该组样例符合测试点 1∼5 的数据范围。
【样例 3】
见选手目录下的 select/select3.in 和 select/select3.ans。
该组样例符合测试点 6∼10 的数据范围。
【样例 4】
见选手目录下的 select/select4.in 和 select/select4.ans。
该组样例符合测试点 11∼15 的数据范围。
【样例 5】
见选手目录下的 select/select5.in 和 select/select5.ans。
该组样例符合测试点 16∼20 的数据范围。
【数据范围】
对于 100% 的数据,保证 1≤T≤100,1≤n≤2×105,单个测试点内 ∑n≤2×105,0≤h≤1015,−109≤ai≤109。
特殊性质:每组测试数据中,所有满足 ai≥0 的样本都出现在满足 ai<0 的样本之前。