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,…,LnL_1, L_2, \ldots, L_n。现在有 mm 个查询,每个查询给定 x 和 y。对每个查询,求出使用 -B x -A y 选项时,将会显示多少行。

输入格式

  1. 输入的第一行包含三个整数:文件 kakikomi.txt 的总行数 all(1≤all≤109)all (1 \leq all \leq 10^9),命中行数 N(1≤N≤min⁡(all,105))N (1 \leq N \leq \min(all, 10^5)),以及查询数量 M(1≤M≤105)M (1 \leq M \leq 10^5)。
  2. 接下来有 NN 行,每行包含一个整数 Li(1≤Li≤all)L_i (1 \leq L_i \leq all),表示每个命中行的行号。
  3. 接下来是 MM 行,每行包含两个整数 xi,yi(0≤xi,yi≤109)x_i, y_i (0 \leq x_i, y_i \leq 10^9),表示查询中的 x 和 y。

输出格式

对于每一个查询 (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=1x = 1, y = 1,命中范围为第 1 到 3 行和第 3 到 5 行,加起来共 5 行。
  • 对于第二个查询 x=3,y=0x = 3, y = 0,命中范围为第 1 到 2 行和第 1 到 4 行,加起来共 4 行。
  • 对于第三个查询 x=3,y=4x = 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测评打分。不知道怎么写?

首页