QOJ.ac

QOJ

时间限制: 2 s 内存限制: 256 MB 总分: 100

#119. 最差的记者 3

统计

在 IOI 2018 的开幕式上,$N$ 名参赛者沿着一条数轴行进。所有参赛者都朝着数轴的正方向前进。在时间 0 时,第 $i$ 名参赛者($1 \le i \le N$,从前向后计数)站在坐标 $-i$ 处。此外,旗手 IOI-chan 站在坐标 0 处。

每名参赛者都有一个称为“迟钝度”的数值。第 $i$ 名参赛者的迟钝度为 $D_i$。参赛者遵循以下规则:

  • 如果第 $i$ 名参赛者与他(或她)前面的人(参赛者或 IOI-chan)之间的距离大于或等于 $D_i + 1$,则第 $i$ 名参赛者会移动到距离那个人距离为 1 的位置。否则,第 $i$ 名参赛者不移动。

IOI-chan 每单位时间在数轴的正方向上移动距离 1。每当满足上述条件时,参赛者会立即移动。

你是一名负责报道开幕式的记者。你本应拍摄照片,但在整个仪式过程中你睡着了。没办法,你决定通过拍摄大厅的照片,然后画出照片上的人来作弊。

为了不被发现作弊,或者为了估算画图所需的时间,你想知道以下 $Q$ 个值:

  • 在时间 $T_j$ 时,坐标在 $L_j$ 到 $R_j$(包含边界)之间的人数($1 \le j \le Q$)。

任务

给定每名参赛者的迟钝度以及 $Q$ 个询问的数据,编写一个程序,计算每个询问中满足条件的人数。

输入格式

从标准输入读取以下数据。

  • 第一行包含两个空格分隔的整数 $N$ 和 $Q$。这意味着有 $N$ 名参赛者(不包括 IOI-chan)和 $Q$ 个询问。
  • 接下来的 $N$ 行中的第 $i$ 行($1 \le i \le N$)包含一个整数 $D_i$。这意味着从前向后的第 $i$ 名参赛者的迟钝度为 $D_i$。
  • 接下来的 $Q$ 行中的第 $j$ 行($1 \le j \le Q$)包含三个空格分隔的整数 $T_j$、$L_j$ 和 $R_j$。这些值代表第 $j$ 个询问。

输出格式

向标准输出写入 $Q$ 行。第 $j$ 行($1 \le j \le Q$)应包含第 $j$ 个询问的答案。

数据范围

所有输入数据满足以下条件:

  • $1 \le N \le 500\,000$
  • $1 \le Q \le 500\,000$
  • $1 \le D_i \le 1\,000\,000\,000$ ($1 \le i \le N$)
  • $1 \le T_j \le 1\,000\,000\,000$ ($1 \le j \le Q$)
  • $1 \le L_j \le R_j \le 1\,000\,000\,000$ ($1 \le j \le Q$)

子任务

共有 3 个子任务。各子任务的分数和附加限制如下:

子任务 1 [7 分]

  • $D_i = 1$ ($1 \le i \le N$)

子任务 2 [12 分]

  • $N \le 1\,000$
  • $Q \le 1\,000$
  • $T_j \le 1\,000$ ($1 \le j \le Q$)
  • $1 \le L_j \le R_j \le 1\,000$ ($1 \le j \le Q$)

子任务 3 [81 分]

  • 无附加限制。

样例

样例输入 1

3 6
2
5
3
1 2 4
2 2 4
3 2 4
4 2 4
5 2 4
6 2 4

样例输出 1

0
1
1
2
1
2

样例输入 2

4 2
1
1
1
1
2 1 4
1 3 6

样例输出 2

2
0

样例输入 3

6 6
11
36
28
80
98
66
36 29 33
190 171 210
18 20 100
1000 900 1100
92 87 99
200 100 300

样例输出 3

1
6
0
5
2
7

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.