## Task
 You are given an array of integers. On each move you are allowed to increase exactly one of its element by one. Find the minimal number of moves required to obtain a strictly increasing sequence from the input.

## Example

 For `arr = [1, 1, 1]`, the output should be `3`.

## Input/Output


 - `[input]` integer array `arr`

    Constraints:

    `3 ≤ inputArray.length ≤ 100,`

    `-10000 ≤ inputArray[i] ≤ 10000.`
    

 - `[output]` an integer

    The minimal number of moves needed to obtain a strictly increasing sequence from inputArray.

    It's guaranteed that for the given test cases the answer always fits signed 32-bit integer type.

Source: codewars | Difficulty: EASY
Tags: Ad-hoc

Starter code: def array_change(arr):
	

Solutions:
from functools import reduce
array_change = lambda arr: reduce(lambda a, u: (max(a[0] + 1, u), a[1] + max(0, a[0] - u + 1)), arr, (-10001, 0))[1]


def array_change(arr):
	if not arr:
		return 0
	(x, y) = (arr[0], 0)
	for i in arr[1:]:
		x = max(x + 1, i)
		y += x - i
	return y


def array_change(arr):
	(m, s) = (0, arr[0])
	for i in arr[1:]:
		if s >= i:
			s += 1
			m += s - i
		else:
			s = i
	return m


def array_change(arr):
	count = 0
	for i in range(len(arr) - 1):
		if arr[i] >= arr[i + 1]:
			count += arr[i] - arr[i + 1] + 1
			arr[i + 1] += arr[i] - arr[i + 1] + 1
	return count


def array_change(arr):
	moves = 0
	for i in range(len(arr) - 1):
		if arr[i + 1] <= arr[i]:
			diff = arr[i] - arr[i + 1] + 1
			arr[i + 1] += diff
			moves += diff
	return moves


def array_change(arr):
	res = 0
	for (i, x) in enumerate(arr[1:], start=1):
		inc = max(x, 1 + max(arr[:i])) - x
		arr[i] += inc
		res += inc
	return res


def array_change(a):
	c = 0
	for i in range(1, len(a)):
		if a[i] <= a[i - 1]:
			c += a[i - 1] - a[i] + 1
			a[i] = a[i - 1] + 1
	return c


def array_change(arr):
	(p, r) = (arr[0], 0)
	for x in arr[1:]:
		if x <= p:
			r += p - x + 1
			x = p + 1
		p = x
	return r