use proconio::input; use std::collections::HashMap; fn main(){ input!{ n: usize, ab: [(usize, usize); n], q: usize, xy: [(usize, usize); q], } let mut all = Vec::with_capacity(n); let mut mp = HashMap::>::new(); for (a, b) in ab{ all.push(a); mp.entry(b).or_default().push(a); } for v in mp.values_mut(){ v.sort_unstable(); } all.sort_unstable(); for (x, y) in xy{ let tot = all.partition_point(|&a| a <= x); let bad = match mp.get(&y){ Some(v) => v.partition_point(|&a| a <= x), None => 0, }; println!("{}", tot-bad); } }