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.