// Source: https://usaco.guide/general/io
#include "grader.h"
#include <bits/stdc++.h>
#include <functional>
#include <queue>
using namespace std;
int main() {
int n,k;
n=getN();
k=getK();
//cin>>n>>k;
priority_queue<int> l;
priority_queue<int, vector<int>, greater<int>> r;
long long ans=0;
for (int i=1;i<=n;i++){
int a;
a=Data();
//cin>>a;
int b=a-k;
l.push(b);
r.push(a);
if (l.top()>r.top()){
ans+=l.top()-r.top();
r.push(l.top());
l.push(r.top());
l.pop();
r.pop();
}
Solution(ans);
// cout<<ans<<endl;
}
}