#include <cstdio>
int N;
long long answer;
long long X[100003];
long long get_answer(long long D) {
long long ret = 0;
for (int i = 0; i < N; i++) {
if (X[i] - D * i >= 0) {
ret += X[i] - D * i;
}
else {
ret += D * i - X[i];
}
}
if (answer > ret) {
answer = ret;
}
return ret;
}
int main() {
scanf("%d", &N);
for (int i = 0; i < N; i++) {
scanf("%lld", &X[i]);
answer += X[i];
}
long long st = 0;
long long en = 1000000000;
while (st <= en) {
long long mid = (st + en) / 2;
long long answer_mid = get_answer(mid);
long long answer_prev = get_answer(mid - 1);
if (answer_prev < answer_mid) {
en = mid - 1;
}
else {
st = mid + 1;
}
}
printf("%lld\n", answer);
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KIAppbnQgTjsKIApsb25nIGxvbmcgYW5zd2VyOwogCmxvbmcgbG9uZyBYWzEwMDAwM107CiAKbG9uZyBsb25nIGdldF9hbnN3ZXIobG9uZyBsb25nIEQpIHsKICAgIGxvbmcgbG9uZyByZXQgPSAwOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBOOyBpKyspIHsKICAgICAgICBpZiAoWFtpXSAtIEQgKiBpID49IDApIHsKICAgICAgICAgICAgcmV0ICs9IFhbaV0gLSBEICogaTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgIHJldCArPSBEICogaSAtIFhbaV07CiAgICAgICAgfQogICAgfQogICAgaWYgKGFuc3dlciA+IHJldCkgewogICAgICAgIGFuc3dlciA9IHJldDsKICAgIH0KICAgIHJldHVybiByZXQ7Cn0KIAppbnQgbWFpbigpIHsKICAgIHNjYW5mKCIlZCIsICZOKTsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTjsgaSsrKSB7CiAgICAgICAgc2NhbmYoIiVsbGQiLCAmWFtpXSk7CiAgICAgICAgYW5zd2VyICs9IFhbaV07CiAgICB9CiAKICAgIGxvbmcgbG9uZyBzdCA9IDA7CiAgICBsb25nIGxvbmcgZW4gPSAxMDAwMDAwMDAwOwogCiAgICB3aGlsZSAoc3QgPD0gZW4pIHsKICAgICAgICBsb25nIGxvbmcgbWlkID0gKHN0ICsgZW4pIC8gMjsKICAgICAgICAgCiAgICAgICAgbG9uZyBsb25nIGFuc3dlcl9taWQgPSBnZXRfYW5zd2VyKG1pZCk7CiAgICAgICAgbG9uZyBsb25nIGFuc3dlcl9wcmV2ID0gZ2V0X2Fuc3dlcihtaWQgLSAxKTsKIAogICAgICAgIGlmIChhbnN3ZXJfcHJldiA8IGFuc3dlcl9taWQpIHsKICAgICAgICAgICAgZW4gPSBtaWQgLSAxOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgc3QgPSBtaWQgKyAxOwogICAgICAgIH0gICAgICAgCiAgICB9CiAKICAgIHByaW50ZigiJWxsZFxuIiwgYW5zd2VyKTsKICAgIHJldHVybiAwOwp9