C++ Array Change
#include <vector>

long long arrayChange(std::vector<long long> a)
{
    long long min = 0;
    for (std::size_t k = 0; k + 1 < a.size(); ++k) {
        if (a[k] >= a[k + 1]) {
            long long dif = a[k] - a[k + 1] + 1;
            a[k + 1] += dif;
            min += dif;
        }
    }

    return min;
}

This moves left to right and bumps values only when needed so the array becomes strictly increasing.