aizu_online_judge/dsl/
dsl_2_c.rs1use competitive::data_structure::Static2DTree;
2use competitive::prelude::*;
3
4#[verify::aizu_online_judge("DSL_2_C")]
5pub fn dsl_2_c(reader: impl Read, writer: impl Write) {
6 prepare_io!(reader, writer);
7 sc!(n, xy: [(i64, i64); iter n]);
8 let tree = Static2DTree::new(xy.enumerate().map(|(i, (x, y))| (x, y, i)));
9 sc!(q, query: [(i64, i64, i64, i64); iter q]);
10 for (sx, tx, sy, ty) in query {
11 let mut v = tree.range(sx..tx + 1, sy..ty + 1);
12 v.sort();
13 for v in v {
14 pp!(v);
15 }
16 pp!();
17 }
18}