#include <bits/stdc++.h>
using namespace std;
template <typename T>
class MyVector : private std::vector<T, std::allocator<T>> {
 public:
  using basetype = std::vector<T, std::allocator<T>>;
  using basetype::vector;
  using basetype::operator=;
  using basetype::begin;
  using basetype::capacity;
  using basetype::cbegin;
  using basetype::cend;
  using basetype::crbegin;
  using basetype::crend;
  using basetype::empty;
  using basetype::end;
  using basetype::max_size;
  using basetype::rbegin;
  using basetype::rend;
  using basetype::reserve;
  using basetype::resize;
  using basetype::shrink_to_fit;
  using basetype::size;
  typename MyVector<T>::reference operator[](typename basetype::size_type n) {
    basetype::at(n);
  }
  typename MyVector<T>::const_reference operator[](
      typename basetype::size_type n) const {
    basetype::at(n);
  };
  using basetype::assign;
  using basetype::at;
  using basetype::back;
  using basetype::clear;
  using basetype::data;
  using basetype::emplace;
  using basetype::emplace_back;
  using basetype::erase;
  using basetype::front;
  using basetype::insert;
  using basetype::pop_back;
  using basetype::push_back;
  using basetype::swap;
};
const double PI = acos(-1.0);
const double EPS = 1e-10;
int powint(int a, int x) {
  int res = 1;
  for (int i = (0); i < (x); ++i) {
    res = res * a;
  }
  return res;
}
signed main() {
  const long long N = []() {
    long long t;
    cin >> t;
    return t;
  }();
  std::vector<long long> A(N);
  for (long long i = (0); i < (N); ++i) {
    cin >> A[i];
  }
  long long ans = 0;
  for (long long i = (0); i < (N); ++i) {
    if (i == 0) continue;
    if (A[i] < A[i - 1]) {
      ans += A[i - 1] - A[i];
      A[i] = A[i - 1];
    }
  }
  cout << ans << endl;
  return 0;
}
