library_checker/data_structure/
static_range_frequency.rs1#[doc(no_inline)]
2pub use competitive::data_structure::WaveletMatrix;
3use competitive::prelude::*;
4
5#[verify::library_checker("static_range_frequency")]
6pub fn static_range_frequency(reader: impl Read, mut writer: impl Write) {
7 let s = read_all_unchecked(reader);
8 let mut scanner = Scanner::new(&s);
9 scan!(scanner, n, q, a: [usize; n]);
10 let wm = WaveletMatrix::new(a, 30);
11 for _ in 0..q {
12 scan!(scanner, l, r, x: usize);
13 let ans = wm.rank(x, l..r);
14 iter_print!(writer, ans);
15 }
16}