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

题目描述

亚特兰蒂斯总共有 n 个宝藏,其中第 i 个宝藏的重量为 a_i 克。然而这些宝藏被施加了诅咒,当有人一次性拿走 k 个宝藏时,第 i 个宝藏的重量会变为 a_i + k * i 克,并且如果有同一个人踏入存放宝藏的地方两次,他自身会受到更加可怕的诅咒。
现在大力士兔子到达了亚特兰蒂斯,他为宝藏而来,想要在负重不超过 s 克的情况下一次性尽可能多的拿走宝藏,如果有很多方法可以最大限度地提高拿走宝藏的数量,他将选择负重最小的方法。你可以帮他规划这次行动吗?(兔子从来不会给别人报酬)

输入描述:

第一行输入两个数字 n (1 \le n \le 10^5)  ,s (1 \le s \le 10^9) ,n 代表宝藏的个数,s 代表兔子的最大可承受重量。
第二行包含 n 个整数 a_1, a_2, \dots, a_n (1 \le a_i \le 10^9),其中 a_ia 中的第 i 个元素,代表第 i 个宝藏的重量。

输出描述:

在一行中打印两个整数 kTT 为可一次性可拿走宝藏的最大数量,k 为拿走这些宝藏的最小负重。
示例1

输入

复制
3 11
2 3 5

输出

复制
2 11

说明

兔子不能一次性拿走三个宝藏,因为此时它们将分别为 [5, 9, 14] 克,一共需要 28 克 。如果他决定一次性拿走两个宝藏,那么这些宝藏此时所需承重为 [4, 7, 11] 克 。因此,他可以一次性拿走第一个和第二个宝藏。
示例2

输入

复制
4 100
1 2 5 6

输出

复制
4 54

说明

兔子可以一次性拿走所有的宝藏,因为此时这些宝藏的所需承重为 [5, 10, 17, 22]