use std::arch::x86_64; fn main() { proconio::input! { n: usize, s: i64, p: [i64;n], } if n == 1 { println!("1"); println!("1"); return; } let mut p = p.into_iter().enumerate().collect::>(); p.sort_by_key(|x| x.1); let mut flags = vec![true; n]; p.windows(2).filter(|x| x[1].1 - x[0].1 <= s).for_each(|x| { flags[x[0].0] = false; flags[x[1].0] = false; }); let ind = flags .into_iter() .enumerate() .filter_map(|x| x.1.then_some(x.0)) .collect::>(); println!("{}", ind.len()); println!( "{}", ind.iter() .map(|x| (x + 1).to_string()) .collect::>() .join(" ") ); }