QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 1024 MB Points totaux : 100

#9182. 无限竞速

Statistiques

每年,埃因霍温都会举办一场马拉松比赛。今年,组织者想出了一些特别的点子:比赛不再是在 42 公里后结束,而是永远进行下去!为了简化组织工作,比赛在埃因霍温大学的跑道上进行,参赛者在跑道上进行无限圈的奔跑。

Anika 很兴奋能成为 $N$ 名参赛者之一,编号从 $0$ 到 $N - 1$。她报名很快,这意味着她是参赛者 $0$。她从终点线后方起跑,所有其他参赛者都位于她前方的跑道上。Anika 无法记录她跑了多少圈,但她记得自己何时超越了某人,或者何时被某人超越。她最少必须跨越终点线多少次?没有人向后移动,且终点线上不会发生超车。此外,请注意参赛者不一定以恒定的速度奔跑。

输入格式

第一行包含一个整数 $N$,即参赛者人数。 第二行包含一个整数 $Q$,即事件数量。 接下来的 $Q$ 行按比赛发生的顺序描述了事件。第 $i$ 行包含一个整数 $x_i$。

  • 如果 $x_i > 0$,意味着 Anika 超越了参赛者 $x_i$。
  • 如果 $x_i < 0$,意味着参赛者 $-x_i$ 超越了 Anika。

输出格式

输出一个整数,表示 Anika 最少必须跨越终点线的次数。

数据范围

  • $2 \le N \le 200\,000$
  • $1 \le Q \le 200\,000$
  • $1 \le x_i \le N - 1$ 或 $-(N - 1) \le x_i \le -1$

子任务

子任务 分数 数据范围
1 29 $N = 2$
2 34 $x_i > 0$ 对所有 $i$ 成立(即 Anika 只会超越别人)
3 22 $N, Q \le 100$
4 15 无额外限制

样例

注意,某些样例对于所有子任务来说可能不是有效的输入。

在第一个样例中,有 $N = 4$ 名参赛者和 $Q = 5$ 个事件。Anika 首先被 $2$ 号超越,此时 $2$ 号领先她整整一圈。然后她反超了 $2$ 号,接着超越了 $1$ 号,随后又被 $3$ 号超越。此时,Anika 可能仍处于她的第一圈。最后,她再次超越了 $2$ 号,这意味着她必须至少跨越过一次终点线。

在第二个样例中,除了 Anika 之外只有一名参赛者。Anika 超越了该参赛者四次,这意味着 Anika 必须至少跨越过三次终点线。

样例输入 1

4
5
-2
2
1
-3
2

样例输出 1

1

样例输入 2

2
4
1
1
1
1

样例输出 2

3

样例输入 3

2
5
1
-1
1
-1
-1

样例输出 3

0

样例输入 4

200000
7
199999
199999
1
199999
55
199999
55

样例输出 4

3

样例输入 5

3
6
1
2
2
2
1
1

样例输出 5

3

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.