#include <iostream>
#include <stdio.h>
#include <cstdlib>
#include <algorithm>
#include <queue>
#include <cmath>
#include <vector>
#include <fstream>


/*struct gomila
{
    int vrednost;
    int indeks;
};

bool uporedi(gomila A, gomila B)
{
     if (A.vrednost == B.vrednost) return A.indeks < B.indeks;
     return A.vrednost < B.vrednost;
}*/

using namespace std;
int n,k,i; 
long long sol; int a[1000005];



void izracunaj(int pocetak, int kraj)
{
   //  printf("interval: %d %d\n" , pocetak, kraj);
     if (pocetak > kraj) return;
     if (pocetak == kraj)
     {
         int d = k - a[pocetak];
         sol += d;
         a[pocetak] += d;
     }
     int MAX = -1;
     for (int j = pocetak; j <= kraj; j++)
     {
         if (a[j] > MAX) MAX = a[j];
     }
     int d = k - MAX;
     sol += d;
     int poc = pocetak;
   //  printf("maksimum: %d\n", MAX);
    /* for (i = 0; i < n; i++) printf("%d ", a[i]);
     printf("\n");*/
     //system("pause");
     int j = pocetak;
     a[pocetak] += d;
     while (a[j] == k && j < kraj)
     {
        j++;
        a[j] += d;
     }
     poc = j;
     for (j; j < kraj; j++)
     {
         a[j + 1] += d;
        
         if (a[j] == k)
         {
            // if (j > 0) printf("buu : %d %d %d\n" , a[j], a[j-1], j - 1);
             if (j > 0 && a[j-1] < k) izracunaj(poc, j - 1);
             if (a[j+1] != k) poc = j + 1;
         }
     }
     if (a[kraj] == k && a[kraj - 1] != k) izracunaj(poc,kraj - 1);
     else if (a[kraj] != k) izracunaj(poc,kraj);
    
}


int main()
{
    FILE *fin, *fout;
    fin = fopen("zetoni.in", "r");
    fout = fopen("zetoni.out", "w");
    sol = 0; int MAX = -1;
    fscanf(fin,"%d%d", &n, &k);
    for (i = 0; i < n; i++) 
    {
        int x;
        fscanf(fin,"%d", &x);
        a[i] = x;
        if (x > MAX) MAX = x;
    }
    a[n] = -1000000001;
    
    //for (i = 0; i < n; i++) printf("%d ", a[i]);
    //sort(a, a + n, uporedi);
    //for (i = 0; i < n; i++) printf("%d ", a[i].indeks);
    izracunaj(0, n - 1 );
    
    
    fprintf(fout,"%d\n", sol);
    fclose(fin);
    fclose(fout);
    
    
    
    //system("pause");
    return 0;
}
