// inputに入力データ全体が入る
function Main(input) {
	input = input.split("\n"); // 1行目がinput[0], 2行目がinput[1], …に入る
	// ここに処理を書く
    var s0 = input[0].split(" ");
    var n = Number(s0[0]);
    var x = Number(s0[1]);
    var a = input[1].split(" ");
    var sum = 0;
    for (var i = 0; i < n; i++) {
        a[i] = Number(a[i]);
        sum += a[i];
    }
//    console.log(a);
    var ret = 0;
    if (a[0] > x) {
        ret += a[0] - x;
        a[0] = x;
    }
    for (var i = 0; i < n-1; i++) {
        if (a[i] + a[i+1] > x) {
            ret += a[i] + a[i+1] - x;
            a[i+1] -= a[i] + a[i+1] - x;
        }
    }
    console.log(ret);

	// console.logは標準出力に1行出力します (自動的に最後に改行が入ります)
//	console.log(ss[0][0] + ss[1][0] + ss[2][0]);
}
 
// ※この行以降は編集しない (標準入力から一度に読み込みMainを呼び出します)
Main(require("fs").readFileSync("/dev/stdin", "utf8"));

/*
// inputに入力データ全体が入る
function Main(input) {
    console.log(input);
	input = input.split("\n"); // 1行目がinput[0], 2行目がinput[1], …に入る
	// ここに処理を書く
	var result = input[1];
    console.log(result);
	var score = 0;
	for (var i = 0; i < result.length; i++) {
		if (result[i] == "A") score += 4;
		else if (result[i] == "B") score += 3;
		else if (result[i] == "C") score += 2;
		else if (result[i] == "D") score += 1;
	}
	// console.logは標準出力に1行出力します (自動的に最後に改行が入ります)
	console.log(score / result.length);
}
 
// ※この行以降は編集しない (標準入力から一度に読み込みMainを呼び出します)
console.log("test");
Main(require("fs").readFileSync("/dev/stdin", "utf8"));
*/
