use std::cmp::Reverse; fn main() { let mut n = String::new(); std::io::stdin().read_line(&mut n).ok(); let n: usize = n.trim().parse().unwrap(); let mut p = String::new(); std::io::stdin().read_line(&mut p).ok(); let p: Vec = p.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let mut result = 0usize; let mut exp = p.iter().sum::(); let mut p = (0..n).map(|i| (i+1, p[i])).collect::>(); p.sort_by_key(|&(_, v)| Reverse(v)); for &(i, _) in p.iter() { if exp > 2*i { result = result.max(exp - 2*i); } exp -= i; } println!("{}", result); }