#P5424. 烧桥计划

烧桥计划

Description

"经过精确的测量,整个桥梁可以被分为N段,从左往右标号1~N,每一段有一个'稳定值'来代表这一段的牢固程度- -越牢固的地方,需要越大的代价去烧毁或拆毁,这个数列记为A1~An。这个稳定值介于1000~2000之间。

详细的计划分为两步:

第一步,烧毁某些位置;

第二步,拆掉某些位置。在第一步中,我们选择若干个位置,记为K个:Ap1,Ap2,…,Apk,其中p1<p2<..<pk,然后逐一烧毁这些位置。由于放火是有危险的,所以对于从左往右的第i个位置pi,烧毁它的代价为i*Api。

现在,桥的剩下的N-K个位置被烧成了K+1段--可能有些段为空。对于每一段,如果它的所有Ai之和不足M,那么说明这一段自己会坍塌,不必管它;

否则,我们需要逐一拆毁这些位置,设这段Ai之和为T,当T>M的时候我们就需要支付T的代价。两部分的代价加起来即为整个计划的总代价。

整个计划一定会选取最优的方案进行,也就是最小化总代价。

目前记者还没有得到关于总代价的信息……不过全部的数据都有,你也可以自己计算这个值。"

Format

Input

第一行是两个正整数N(<=100000)和M(<=2*10^8),含义如题目所述。

第二行是N个用空格隔开的正整数,代表整个A数列。 (1000<=Ai<=2000)

Output

一行一个正整数,之前所说的最小总代价。

N<=100000,1000<=Ai<=2000

Samples

10 9
5 3 3 9 1 4 2 2 4 8
17


Hint 【样例解释】

选择从左往右第3、5、9位置烧掉即可(下标从1开始标号)。 如果选择3、6、9,则总代价为33,明显不优。