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

购买玩具【2025欢乐赛T4】

题目描述

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

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

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

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

从左到右按顺序查看每个玩具的价格,如果当前手里剩余的钱数 y′y^{'} 足够买下第 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。

有合理的子任务依赖。

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

对于 100%100\% 的数据:保证 1≤n≤103,1≤ai,x≤1041 \leq n \leq 10^3,1 \leq a_i,x \leq 10^4。