use std::io::*; fn main() { let mut s: String = String::new(); std::io::stdin().read_to_string(&mut s).ok(); let mut itr = s.trim().split_whitespace(); let n: usize = itr.next().unwrap().parse().unwrap(); let a: Vec = (0..n) .map(|_| itr.next().unwrap().parse().unwrap()) .collect(); let mut ans = 1 << 30; let center = n / 2; for i in 1..(n / 2 + 2) as i32 { let mut diff = a[center] - i; let mut cnt = diff.abs(); for j in 1..n / 2 + 1 { let need = i - j as i32; if need <= 0 { diff += a[center + j] + a[center - j]; cnt += a[center + j] + a[center - j]; continue; } diff += a[center + j] - need; diff += a[center - j] - need; cnt += (a[center + j] - need).abs(); cnt += (a[center - j] - need).abs(); } if diff >= 0 { ans = std::cmp::min(ans, (cnt - diff) / 2 + diff); } } println!("{}", ans); }