#include <stdio.h>
#define MAX_N 200000
int n;
long long d;
int a[MAX_N];
long long min_moves() {
long long moves = 0;
long long ducks = d; // Start with d ducks at position 1
for (int i = 1; i <= n; i++) {
if (ducks >= a[i - 1]) {
// We have enough ducks, so press the button
ducks += a[i - 1]; // Ducks remain in the system
} else {
// Not enough ducks, so bring in extra ducks
long long needed = a[i - 1] - ducks;
moves += needed * (i - 1); // Move needed ducks to this position
ducks = a[i - 1]; // Now we have exactly enough ducks
}
}
return moves;
}
int main() {
scanf("%d %lld", &n
, &d
); for (int i = 1; i <= n; i++) {
}
printf("%lld\n", min_moves
()); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIE1BWF9OIDIwMDAwMAoKaW50IG47CmxvbmcgbG9uZyBkOwppbnQgYVtNQVhfTl07Cgpsb25nIGxvbmcgbWluX21vdmVzKCkgewogICAgbG9uZyBsb25nIG1vdmVzID0gMDsKICAgIGxvbmcgbG9uZyBkdWNrcyA9IGQ7ICAvLyBTdGFydCB3aXRoIGQgZHVja3MgYXQgcG9zaXRpb24gMQoKICAgIGZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgIGlmIChkdWNrcyA+PSBhW2kgLSAxXSkgewogICAgICAgICAgICAvLyBXZSBoYXZlIGVub3VnaCBkdWNrcywgc28gcHJlc3MgdGhlIGJ1dHRvbgogICAgICAgICAgICBkdWNrcyArPSBhW2kgLSAxXTsgIC8vIER1Y2tzIHJlbWFpbiBpbiB0aGUgc3lzdGVtCiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gTm90IGVub3VnaCBkdWNrcywgc28gYnJpbmcgaW4gZXh0cmEgZHVja3MKICAgICAgICAgICAgbG9uZyBsb25nIG5lZWRlZCA9IGFbaSAtIDFdIC0gZHVja3M7CiAgICAgICAgICAgIG1vdmVzICs9IG5lZWRlZCAqIChpIC0gMSk7ICAvLyBNb3ZlIG5lZWRlZCBkdWNrcyB0byB0aGlzIHBvc2l0aW9uCiAgICAgICAgICAgIGR1Y2tzID0gYVtpIC0gMV07ICAvLyBOb3cgd2UgaGF2ZSBleGFjdGx5IGVub3VnaCBkdWNrcwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gbW92ZXM7Cn0KCmludCBtYWluKCkgewogICAgc2NhbmYoIiVkICVsbGQiLCAmbiwgJmQpOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CiAgICAgICAgc2NhbmYoIiVkIiwgJmFbaSAtIDFdKTsKICAgIH0KCiAgICBwcmludGYoIiVsbGRcbiIsIG1pbl9tb3ZlcygpKTsKICAgIHJldHVybiAwOwp9