fn read_vec() -> Vec { let mut s = String::new(); std::io::stdin().read_line(&mut s).ok(); s.trim() .split_whitespace() .map(|e| e.parse().ok().unwrap()) .collect() } fn main() { let nm:Vec = read_vec(); let ops:Vec = read_vec(); let mut sort = vec![None; nm[0]]; for i in 0..nm[0] { sort[i] = Some(nm[0] - i); } for i in 0..ops.len() { let mut idx = 0; let mut count = 0; for j in 0..sort.len() { if sort[sort.len()-j-1].is_some() { count += 1; if count == ops[i] { idx = sort.len()-j-1; break; } } } let temp = sort[idx]; sort[idx] = None; sort.push(temp); } println!("{}", sort[sort.len()-1].unwrap()); }