AT_arc014_4.[ARC014D] grepマスター
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君对使用 grep 命令很在行。然而,由于很多人也擅长 grep,这已不足以证明他的特别之处。为了掌握新的技能,他正在研究 grep 命令的手册。
在 grep 命令中,有 -B 和 -A 选项。使用这些选项时,例如:
grep -B x -A y "needle" kakikomi.txt
这行命令会在文件 kakikomi.txt 中,不仅显示符合模式 "needle" 的行,还会显示该行前面的 x 行和后面的 y 行。如果文件没有足够的前后行数,就仅显示实际存在的行数。而且,每一行只会被显示一次,即使它被多个命中行所覆盖。关于这个行为,可以参考输出示例。
现在,已知道在某个模式下对文件 kakikomi.txt 执行 grep 命令后,得到了匹配的行号列表 L1,L2,…,Ln。现在有 m 个查询,每个查询给定 x 和 y。对每个查询,求出使用 -B x -A y 选项时,将会显示多少行。
输入格式
- 输入的第一行包含三个整数:文件
kakikomi.txt的总行数 all(1≤all≤109),命中行数 N(1≤N≤min(all,105)),以及查询数量 M(1≤M≤105)。 - 接下来有 N 行,每行包含一个整数 Li(1≤Li≤all),表示每个命中行的行号。
- 接下来是 M 行,每行包含两个整数 xi,yi(0≤xi,yi≤109),表示查询中的
x和y。
输出格式
对于每一个查询 (x,y),输出一行,表示使用 -B x -A y 选项时,将会显示的行数。在输出的最后要有一个换行符。
示例
输入
7 2 3
2
4
1 1
3 0
3 4
输出
5
4
7
解释
- 匹配的行是第 2 行和第 4 行。
- 对于第一个查询 x=1,y=1,命中范围为第 1 到 3 行和第 3 到 5 行,加起来共 5 行。
- 对于第二个查询 x=3,y=0,命中范围为第 1 到 2 行和第 1 到 4 行,加起来共 4 行。
- 对于第三个查询 x=3,y=4,命中范围为第 1 到 6 行和第 1 到 7 行,加起来共 7 行。
输入
100 5 5
3
18
24
57
90
1 8
27 0
15 16
22 3
2 2
输出
46
80
98
79
25
通过这样的调整和润色,题目描述变得更加简明和易于理解,增强了中文阅读的流畅性。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?