import sys

def I(): return int(sys.stdin.readline().rstrip())

def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))  #空白あり





N = I()

A = LI()

for i in range(N):

    A[i] -= i+1

A.sort()





def f(x):

    return sum(abs(A[i]-x) for i in range(N))





print((f((A[(N-1)//2]+A[N//2])//2)))

# 中間値

import sys



sys.setrecursionlimit(10**7)

def I(): return int(sys.stdin.readline().rstrip())

def MI(): return list(map(int,sys.stdin.readline().rstrip().split()))

def LI(): return list(map(int,sys.stdin.readline().rstrip().split()))  #空白あり

def LI2(): return list(map(int,sys.stdin.readline().rstrip()))  #空白なし

def S(): return sys.stdin.readline().rstrip()

def LS(): return list(sys.stdin.readline().rstrip().split())  #空白あり

def LS2(): return list(sys.stdin.readline().rstrip())  #空白なし





N = I()

A = LI()

for i in range(N):

    A[i] -= i+1

A.sort()



x = A[N//2]

y = A[(N-1)//2]

z = (x+y)//2



print((sum(abs(A[i]-z) for i in range(N))))

import sys


def I():
    return int(sys.stdin.readline().rstrip())


def LI():
    return list(map(int, sys.stdin.readline().rstrip().split()))  # 空白あり


N = I()
A = LI()
for i in range(N):
    A[i] -= i + 1
A.sort()


def f(x):
    return sum(abs(A[i] - x) for i in range(N))


print((f((A[(N - 1) // 2] + A[N // 2]) // 2)))
# 中間値

import sys

sys.setrecursionlimit(10**7)


def I():
    return int(sys.stdin.readline().rstrip())


def MI():
    return list(map(int, sys.stdin.readline().rstrip().split()))


def LI():
    return list(map(int, sys.stdin.readline().rstrip().split()))  # 空白あり


def LI2():
    return list(map(int, sys.stdin.readline().rstrip()))  # 空白なし


def S():
    return sys.stdin.readline().rstrip()


def LS():
    return list(sys.stdin.readline().rstrip().split())  # 空白あり


def LS2():
    return list(sys.stdin.readline().rstrip())  # 空白なし


N = I()
A = LI()
for i in range(N):
    A[i] -= i + 1
A.sort()
x = A[N // 2]
y = A[(N - 1) // 2]
z = (x + y) // 2
print((sum(abs(A[i] - z) for i in range(N))))

+ +sys.setrecursionlimit(10**7) +def MI(): +    return list(map(int, sys.stdin.readline().rstrip().split())) + + + + +def LI2(): +    return list(map(int, sys.stdin.readline().rstrip()))  # 空白なし + + +def S(): +    return sys.stdin.readline().rstrip() + + +def LS(): +    return list(sys.stdin.readline().rstrip().split())  # 空白あり + + +def LS2(): +    return list(sys.stdin.readline().rstrip())  # 空白なし - - -def f(x): -    return sum(abs(A[i] - x) for i in range(N)) - - -print((f((A[(N - 1) // 2] + A[N // 2]) // 2))) -# 中間値 +x = A[N // 2] +y = A[(N - 1) // 2] +z = (x + y) // 2 +print((sum(abs(A[i] - z) for i in range(N))))