output_description: Print the minimum possible sadness of Snuke.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N
      A_1 A_2 ... A_N
attempt: N = int(input())
  A = list(map(int,input().split()))
  from bisect import bisect_left
  
  for i in range(N):
      A[i] = A[i]-i
  A.sort()
  
  S = [0]*(N+1)
  for i in range(N):
      S[i+1] = S[i]+A[i]
  
  sumA = sum(A)
  maxA,minA = max(A),min(A)
  
  Ans = 10**9
  for i in range(3z00):
      l = bisect_left(A,minA)
      low  = abs(minA*l - S[l]) + abs(S[N]-S[l] - minA*(N-l))
      h = bisect_left(A,maxA)
      high  = abs(maxA*h - S[h]) + abs(S[N]-S[h] - maxA*(N-h))
      if low==high:
          minA += 1
      elif low < high:
          maxA = (maxA+minA)//2
      else:
          minA = (maxA+minA)//2
      #print(Ans,low,high,minA,maxA)
      Ans = min(Ans,low,high)
  
  print(Ans)
problem_description: Statement
  
  Snuke has an integer sequence A of length N.
  
  He will freely choose an integer b. Here, he will get sad if A_i and b+i are
  far from each other. More specifically, the _sadness_ of Snuke is calculated
  as follows:
  
    * abs(A_1 - (b+1)) + abs(A_2 - (b+2)) + ... + abs(A_N - (b+N))
  
  Here, abs(x) is a function that returns the absolute value of x.
  
  Find the minimum possible sadness of Snuke.
samples: [{"input": "5\n    2 2 3 5 5", "output": "2\n    \n\nIf we choose b=0, the sadness of Snuke would be\nabs(2-(0+1))+abs(2-(0+2))+abs(3-(0+3))+abs(5-(0+4))+abs(5-(0+5))=2. Any choice\nof b does not make the sadness of Snuke less than 2, so the answer is 2.\n\n* * *"}, {"input": "9\n    1 2 3 4 5 6 7 8 9", "output": "0\n    \n\n* * *"}, {"input": "6\n    6 5 4 3 2 1", "output": "18\n    \n\n* * *"}, {"input": "7\n    1 1 1 1 2 3 4", "output": "6"}]