struct Heap<Element: Comparable>{
    var items = [Element]()
    mutating func push(item: Element) {
        var i = items.count
        while i > 0 {
            let p = (i - 1) / 2
            if items[p] <= item {
                break
            }
            if i == items.count {
                items.append(items[p])
            } else {
                items[i] = items[p]
            }
            i = p
        }
        if i == items.count {
            items.append(item)
        } else {
            items[i] = item
        }
    }
    mutating func pop() -> Element {
        let ret = items[0]
        let x = items[items.count - 1]
        var i: Int = 0
        while i * 2 + 1 < items.count - 1 {
            var a = i * 2 + 1
            let b = i * 2 + 2
            if b < items.count - 1 && items[b] < items[a] {
                a = b
            }
            if items[a] >= x {
                break
            }
            items[i] = items[a]
            i = a
        }
        items[i] = x
        _ = items.removeLast()
        return ret
    }
}

let N = Int(readLine()!)!
var B = Heap<Int>()
readLine()!.characters.split(" ").enumerate().forEach{B.push(Int(String($0.1))!-$0.0+1)}
(0..<N/2-1).forEach{_ in _=B.pop()}
let b = B.pop()
print((0..<N).reduce(0){$0+abs(B[$1]-b)})