#G0130. 购买玩具【2025欢乐赛T4】

购买玩具【2025欢乐赛T4】

题目描述

江桥准备去玩具店购买玩具!

玩具店共有 nn 个玩具从左到右排列,第 ii 个玩具的价格为 aia_i

江桥手里有 xx 元零花钱,他可以拿出一部分(可能是 00,也可能是全部)用来购买玩具。

假设他拿出了 yy 元(0yx0 \leq y \leq x),他会按照以下策略购买玩具:

从左到右按顺序查看每个玩具的价格,如果当前手里剩余的钱数 yy^{'} 足够买下第 ii 个玩具,他就会买下这个玩具,否则,跳过这个玩具,继续看第 i+1i + 1 个玩具(如果还有的话)。

江桥想买数量尽可能多的玩具,请你帮他计算一下,需要拿出多少钱来购买玩具。

如果有多个方案都可以购买同样数量的玩具,输出需要拿出的钱数最少的那个。

输入格式

第一行两个正整数 n,xn,x,表示玩具店的玩具数量和江桥的初始零花钱数。

第二行 nn 个正整数 aia_i,表示从左到右第 ii 个玩具的价格。

输出格式

一行一个非负整数 yy,表示江桥能够买最多数量玩具的前提下最少需要拿多少钱。

5 10
10 4 5 3 1
8

样例解释

在第一组测试样例中,江桥带 88 元钱可以购买第 2,4,52,4,5 总共 33 个玩具。

如果江桥带 1010 元,只能买第 11 个玩具,带 99 元只能购买第 2,32,3 个玩具。可以证明,江桥带 88 元钱能买到的玩具数量最多。

数据规模与约定

下发文件

下发文件对应子任务 33

有合理的子任务依赖。

子任务编号 nn \leq 分值
11 22 2020
22 1010 3030
33 10310^3 5050

对于 100%100\% 的数据:保证 1n103,1ai,x1041 \leq n \leq 10^3,1 \leq a_i,x \leq 10^4