合并序列
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 128 M,其他语言256 M
64bit IO Format: %lld

题目描述

有一个长度为𝑛的非负整数数组𝑎[1..𝑛]和一个大于1的正整数𝑘。
你每次可以选不超过𝑘个数,删掉这𝑘个数然后往数组里加入这𝑘 个数的和,
进行一次这样的操作的代价是这𝑘个数的和。
求最小的𝑘使得合并成1个数的最小代价小于等于𝑇。
你输出的𝑘要大于等于2。

输入描述:

第一行包含2个非负整数𝑛, 𝑇。
第二行𝑛个非负整数描述𝑎。

输出描述:

第一行一个整数,表示答案
示例1

输入

复制
5 25
1 2 3 4 5

输出

复制
3

备注:

对于所有数据,满足∑︀𝑎[𝑖] < 𝑇 <2^31并且0<=𝑎𝑖<= 1000 
1≤𝑛≤100000