/*
ZADATAK: jezerca
JEZIK: c
*/
# include <stdio.h>

# define MAXN 1000000

long n;
long mz;
int a[MAXN], ml[MAXN], md[MAXN];

int citaj() {
  long i;
  scanf("%ld", &n);
  for (i = 0; i < n; i++)
    scanf("%d", &a[i]);
  return(0);
}

void resi() {
  long k;
  long i;
  long mm;
  long tz;
  for (ml[0] = 0, i = 1; i < n; i++)
    if (a[i-1] > ml[i-1]) ml[i] = a[i-1]; else ml[i] = ml[i-1];
  for (md[n-1] = 0, i = n-2; i >= 0; i--)
    if (a[i+1] > md[i+1]) md[i] = a[i+1]; else md[i] = md[i+1];
  mz = 0; tz = 0;
  for (k = 0, i = 1; i < n-1; i++) {
    if (ml[i] < md[i]) mm = ml[i]; else mm = md[i];
    if (mm <= a[i]) {
      if (tz > mz) mz = tz;
      tz = 0;
    } else {
      tz += mm-a[i];
    }
  }
  if (tz > mz) mz = tz;
}

void pisi() {
  printf("%ld\n", mz);
}

int main() {
  if (citaj()) {
    exit(1);
  }
  resi();
  pisi();
  return 0;
}