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

题目描述

CSGO,众所周知是一个饰品游戏,小于号看着眼花缭乱的淬火 661,迈阿密,巨虫传说…于是想买一些饰品,但是饰品买卖平台巴福是一个手续费很高的地方。已知巴福总共有 n 个饰品,每件饰品原价为 a_{i} 元,小于号想买其中 k(1\le k\le n) 饰品,买巴福中第 i(1\le i\le n) 饰品将花费他 a_{i}(原价)加上 k\times i 元(手续费)。
现在小于号只有 m 元,所以他问你,他最多能买几件饰品?

输入描述:

第一行包含两个整数 n,m(1 \leq n,m \leq 10^5) 分别表示饰品数量和小于号的资金数量。

第二行包含 n 个整数,第 i 个则代表 a_{i}(1\le a_{i}\le 10^5)

输出描述:

输出一个数字,代表小于号购买的最大饰品数量。
示例1

输入

复制
4 5
3 4 5 6

输出

复制
1

备注:

样例一:
巴福有4个饰品,总资金有5

如果买一件每个饰品价格为 3+1×1=44+1×2=65+1×3=86+1×4=10

如果买两件每个饰品价格为 3+2×1=54+2×2=85+2×3=116+2×4=14

………

显然只能买一件饰品。

tips:巴福手续费高,int承受不住,记得开long long。