human
Solve in Python:
Some time ago Mister B detected a strange signal from the space, which he started to study.

After some transformation the signal turned out to be a permutation p of length n or its cyclic shift. For the further investigation Mister B need some basis, that's why he decided to choose cyclic shift of this permutation which has the minimum possible deviation.

Let's define the deviation of a permutation p as $\sum_{i = 1}^{i = n}|p [ i ] - i|$.

Find a cyclic shift of permutation p with minimum possible deviation. If there are multiple solutions, print any of them.

Let's denote id k (0 ≤ k < n) of a cyclic shift of permutation p as the number of right shifts needed to reach this shift, for example:

  k = 0: shift p_1, p_2, ... p_{n},  k = 1: shift p_{n}, p_1, ... p_{n} - 1,  ...,  k = n - 1: shift p_2, p_3, ... p_{n}, p_1. 

-----Input-----

First line contains single integer n (2 ≤ n ≤ 10^6) — the length of the permutation.

The second line contains n space-separated integers p_1, p_2, ..., p_{n} (1 ≤ p_{i} ≤ n) — the elements of the permutation. It is guaranteed that all elements are distinct.

-----Output-----

Print two integers: the minimum deviation of cyclic shifts of permutation p and the id of such shift. If there are multiple solutions, print any of them.

-----Examples-----
Input
3
1 2 3

Output
0 0

Input
3
2 3 1

Output
0 1

Input
3
3 2 1

Output
2 1


-----Note-----

In the first sample test the given permutation p is the identity permutation, that's why its deviation equals to 0, the shift id equals to 0 as well.

In the second sample test the deviation of p equals to 4, the deviation of the 1-st cyclic shift (1, 2, 3) equals to 0, the deviation of the 2-nd cyclic shift (3, 1, 2) equals to 4, the optimal is the 1-st cyclic shift.

In the third sample test the deviation of p equals to 4, the deviation of the 1-st cyclic shift (1, 3, 2) equals to 2, the deviation of the 2-nd cyclic shift (2, 1, 3) also equals to 2, so the optimal are both 1-st and 2-nd cyclic shifts.

Write me a Python program to find a cyclic shift of permutation p with minimum possible deviation?
assistant
#Here is Python program to find a cyclic shift of permutation p with minimum possible deviation.

def main():
    n=int(input())
    A=list(map(int,input().strip().split(' ')))

    def brutal(A):
        n=len(A)
        for i in range(n):
            temp=0
            pos=0
            neg=0
            for j in range(n):
                temp+=abs(A[j]-(j+i)%n)
                if A[j]-(j+i)%n>0:
                    pos+=1
                else:
                    neg+=1

            print(temp,i,pos,neg,'ans,shift,+ve,-ve')    

    for i in range(len(A)):
        A[i]-=1

    ans=0
    pos=0
    neg=0
    change=[0 for i in range(len(A))]

    for i in range(len(A)):
        ans+=abs(A[i]-i)
        if A[i]-i>0:
            pos+=1
        else:
            neg+=1
        if A[i]-i>0:
            change[i]=A[i]-i
        elif A[i]==i:
            change[i]=0
        else:
            if A[i]!=0:
                change[i]=A[i]+n-i
            else:
                change[i]=0
    MIN=ans
    index=0
    #print(ans)
    collect=[[] for i in range(n)]
    for x in range(len(change)):
        collect[change[x]]+=[x]
    #print(collect)

    #print(ans,pos,neg)    
    for s in range(1,n):  
        ans-=abs(A[n-s]-n+1)
        ans+=abs(A[n-s]-0)
        neg-=1

        ans-=pos
        ans+=neg
        if A[n-s]>0:
            pos+=1
        else:
            neg+=1

        pos-=len(collect[s])
        neg+=len(collect[s])
        #print(ans,pos,neg)
        if ans<MIN:
            MIN=ans
            index=s
    print(MIN,index)        
    #brutal(A)        
main()